90分求救
查看原帖
90分求救
352871
G_E_E_D楼主2022/8/3 17:58

17和20两个点没过,求大佬帮帮 代码

#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
string dp(int n,long long k){
	cout<<k<<endl;
	if(n==1){
		if(k==0){
			return "0";
		}
		else
		{
			return "1";
		}
	}
	else{
		if(k>=pow(2,n-1)){
			return dp(n-1,pow(2,n)-1-k).append("1");
		}
		else{
			return dp(n-1,k).append("0");
		}
	}
}
int main()
{
	unsigned int n;
	unsigned long long k;
	cin>>n>>k;
	string a=dp(n,k);
	for(int i=a.length()-1;i>=0;i--)
	{
		cout<<a[i];
	}
    return 0;
}

谢谢大佬

2022/8/3 17:58
加载中...