#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 結(jié)尾的 展箱,所以循環(huán)判斷條件是n!=1