题目传送器:[CSP-S2019] 格雷码 - 洛谷
思路有些难理解,但是是模板,大家背一背
#include<bits/stdc++.h>
using namespace std;
unsigned long long n,k;
string s="";
int main(){
cin>>n>>k;
k=k^k/2;//先异或,取十进制数的格雷码
while(n--){
s=char(k%2+'0')+s;//转二进制
k/=2;
}
cout<<s<<endl;
return 0;
}
这个模板很靠谱,大家一定要记住!!
某个傻子考试的时候写了一大堆,完美的爆零了……