
#include <stdio.h>
#include<string.h>
#include<string>
int main(){
int t;
scanf("%d",&t);
while(t--){
unsigned int n;
scanf("%u",&n); //unsigned int 得用%u
int str[1000];int i;
for(i=0;n!=1;i++){
if(n%2==1) str[i]=1;
else str[i]=0;
n=n/2;
}
str[i]=1;
for(;i>0;i--){
printf("%d",str[i]); //倒叙输出
}
printf("\n");
}
return 0;
}
不难,逻辑想清楚,二进制的长除法都是以 1 结尾的 ,所以循环判断条件是n!=1