题目描述
blablabla
心血来潮
样例
输入
2 3
3 5
输出
10
111
原理算法
二进制转码:从最右边一位起,依次将每位与左边一位异或,作为该位格雷码,最左边一位不变。
解码:从左边第二位起,将每位与左边一位解码后的值异或,作为该位解码后的值,最左边一位不变。
C++ 代码
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
const int N = 1e6+10;
ull n, k;
int main()
{
cin >> n >> k;
k ^= k >> 1;
while(n--)
{
cout << (k >> n&1);
}
return 0;
}