okk
2025-04-06 14:05:16
发布于:江苏
0阅读
0回复
0点赞
#include <iostream>
#include <string>
using namespace std;
string grayCode(int n, unsigned long long k) {
string res;
for (int i = n - 1; i >= 0; --i) {
if (k & (1ULL << i)) {
res += '1';
k ^= (1ULL << i);
if (i > 0) {
k = (1ULL << i) - 1 - k;
}
} else {
res += '0';
}
}
return res;
}
int main() {
int n;
unsigned long long k;
cin >> n >> k;
cout << grayCode(n, k) << endl;
return 0;
}
这里空空如也
有帮助,赞一个