南阳275

 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 }

 

posted @ 2017-02-02 00:01  Posase  阅读(159)  评论(0编辑  收藏  举报