1 //这是自己写的代码。。。很蠢,下附一dalao代码,又少,又快。。。。 2 #include3 int ant(int,int); 4 void ans(int,int); 5 int main() 6 { 7 int n; 8 while(~scanf("%d",&n)) 9 {10 if(n<2)11 {12 if(n)13 puts("1");14 else15 puts("0");16 continue;17 }18 int t=1;19 ans(n,ant(t,n));20 }21 }22 23 int ant(int t,int n)24 {25 if(t<=n)26 ant(t*2,n);27 else28 return t/2;29 }30 31 void ans(int n,int t)32 {33 if(!t)34 {35 puts("");36 return;37 }38 else39 {40 printf("%d",n/t);41 ans(n%t,t/2);42 }43 }44
1 //递归之美 2 #include3 void ans(int); 4 int main() 5 { 6 int n; 7 while(~scanf("%d",&n)) 8 { 9 ans(n);10 puts("");11 }12 }13 14 void ans(int n)15 {16 if(n>1)17 ans(n>>1);18 putchar('0'+n%2);19 return ;20 }