该题为递推题。
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
前7年:1、2、3、4、6、9、13……我们可以推出year【n】=year【n-1】+year【n-3】
只要找出递推式子就好做了。
Input 输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。 Output 对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。 Sample Input
n=0表示输入数据的结束,不做处理。 Output 对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。 Sample Input
2 4 5 0Sample Output
2 4 6
下面是递推代码
#include<cstdio>
int s[60];
void pre(){
s[1]=1;
s[2]=2;
s[3]=3;
for(int i=4;i<60;i++)
s[i]=s[i-1]+s[i-3];
}
int main()
{
int n;
pre();
while(~scanf("%d",&n)&&n){
printf("%d\n",s[n]);
}
}