unsigned long long 最后一个WA了
查看原帖
unsigned long long 最后一个WA了
495599
CSZD楼主2023/9/9 14:24
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
	unsigned long long n,k;
	cin>>n>>k;
	k++;
	unsigned long long l=pow(2,n);
	for(int i=n;i>=1;i--)
	{
		if(i==1)
		{
			cout<<k-1;
			return 0;
		}
		unsigned long long p=l/2;
		if(k<=p)cout<<0;
		else 
		{
			cout<<1;
			k=l-k+1;
		}	
		l=p;
	}
	return 0;
}

开unsigned long long还是见了祖宗

但是题解说可以过,不知道哪里出了问题。

输入:64 18446744073709551615
正确输出:1000000000000000000000000000000000000000000000000000000000000000
我的输出:0*n 18446……

一看就是超了

2023/9/9 14:24
加载中...