1 //这是自己写的代码。。。很蠢,下附一dalao代码,又少,又快。。。。
2 #include<stdio.h>
3 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 else
15 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 else
28 return t/2;
29 }
30
31 void ans(int n,int t)
32 {
33 if(!t)
34 {
35 puts("");
36 return;
37 }
38 else
39 {
40 printf("%d",n/t);
41 ans(n%t,t/2);
42 }
43 }
44
1 //递归之美
2 #include<stdio.h>
3 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 }