短小精悍
2026-09-24 22:08:19
发布于:江西
5阅读
0回复
0点赞
#include<bits/stdc++.h>
int pos[4]={0,1,1,0};
int main(){
unsigned long long n,k;
std::cin>>n>>k;
for(auto i=n;i>=1;i--)
std::cout<<pos[ (i==64?0:((k>>i)&1ULL))<<1 | ((k>>(i-1))&1ULL) ];
return 0;
}
/*
0 1
---
1 2
0 1 1 0
-------
1 2 3 4
1:0110 0110
2:00111100 00111100
3:0000111111110000 0000111111110000
4:00000000111111111111111100000000 00000000111111111111111100000000
...
1:0 1 1 0
k%4=0?0
k%4=1?1
k%4=2?1
k%4=3?0
2:00 11 11 00
k%8/2=0?0
k%8/2=1?1
k%8/2=2?1
k%8/2=3?0
3:0000 1111 1111 0000
k%16/4=0?
4:00000000 11111111 11111111 00000000
...............
k%(2<<i)/(1<<(i-1))
*/
这里空空如也


有帮助,赞一个