#include<bits/stdc++.h> #define lot unsigned long long using namespace std; lot n,k; int main(){ cin>>n>>k; bitset<64>ans; ans=k^(k>>1); while(n--)cout<<ans[n]; return 0; }
根据gray码定义可知Gx=x⊕x>>1,而bitset容器恰好可以把一个十进制数的每一个二进制位分离输出(其实就是我比较唐没想到位运算分离的方法)根据gray码定义可知G_x=x\oplus x>>1,而bitset容器恰好可以把一个十进制数的每一个二进制位分离输出(其实就是我比较唐没想到位运算分离的方法)根据gray码定义可知Gx=x⊕x>>1,而bitset容器恰好可以把一个十进制数的每一个二进制位分离输出(其实就是我比较唐没想到位运算分离的方法)