ZOJ 1539 Lot

刚开始题意理解错了,好吧!无情的奉献了一次WA,去网上搜了下,这才把题意完全弄明白,N个人站成一排,每次奇数位或是偶数位出列,

直到最后剩下的数的个数小于等于3,求总共有多少种方法

View Code
 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 
 4 int find(int n)
 5 {
 6     if(n < 3 ) return 0;
 7     else if(n == 3) return 1;
 8     else
 9     {
10        if(n%2 == 0)   
11           return find(n/2)*2; 
12        else 
13           return find(n/2)+find(n/2+1);
14        
15     }      
16 }       
17 
18 int main()
19 {
20     int  num, N;
21        
22     while(scanf("%d",&N) != EOF)
23     {         
24        printf("%d\n",find(N));                                           
25                                                                                            
26     }   
27     return 0;
28 }                       

 

 

posted @ 2012-08-17 08:11  zhongya  阅读(169)  评论(0编辑  收藏  举报