刚开始题意理解错了,好吧!无情的奉献了一次WA,去网上搜了下,这才把题意完全弄明白,N个人站成一排,每次奇数位或是偶数位出列,
直到最后剩下的数的个数小于等于3,求总共有多少种方法
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
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 }