漫步·简单二进制
错误示范:
#include<cstdio>
int main(){
int t;scanf("%d",&t);
while(t--){
int x;
scanf("%d",&x);
if(x==1&&t==1)printf("1");
for(int i=1;i<x;i++){
int lo=i,c=x+i;
while(i){
int a=x%2;
int b=(c)%2;
if(a!=b)break;
x=x>>1;
c=(c)>>1;
if(x==0)printf("%d\n",lo);
}
}
}
return 0;
}
修改: