题解
2025-08-28 16:06:32
发布于:浙江
5阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
unsigned long long k;
cin >> n >> k;
unsigned long long gray = k ^ (k >> 1);
// 转换为 n 位二进制字符串
string s;
for (int i = n - 1; i >= 0; --i) {
//格雷码转换公式
s += ((gray >> i) & 1) ? '1' : '0';
}
cout << s << endl;
}
全部评论 2
顶
6天前 来自 浙江
0顶
6天前 来自 浙江
0
有帮助,赞一个