吃糖果2
现有n(50 > n > 0)个糖果,每天只能吃2个或者3个,请计算共有多少种不同的吃法吃完糖果。
时间限制:1000
内存限制:65536
输入
输入的每一行包括一组测试数据,即为糖果数n。最后一行为0,表示测试结束。
输出
每一行输出对应一行输入的结果,即为吃法的数目。
样例输入
1
2
3
4
12
0
样例输出
0
1
1
1
12
#include<bits/stdc++.h>
using namespace std;
int b[51];
int ct(int x){
if(x==0||x==1){
return 0;
}else if(x==2||x==3){
return 1;
}else{
return ct(x-2)+ct(x-3);
}
}
int main(){
int n,k=1;
while(1){
cin>>n;
if(n==0){
break;
}
/*int a[n+1];
a[1]=0;
a[2]=1;
a[3]=1;
for(int i=4;i<=n;i++){
a[i]=a[i-2]+a[i-3];
}
b[k]=a[n];
k++;*/
b[k]=ct(n);
k++;
}
for(int i=1;i<k;i++){
cout<<b[i]<<endl;
}
return 0;
}