#include <stdio.h>
main()
{
int n,a,b,c,s,i;
while(scanf("%d",&n)!=EOF)
{
if(!n)
{
break;
}
else
{
if(n<5)
{
printf("%d\n",n);
}
else
{
for(a=2,b=3,c=4,i=4;i<n;i++)
{
s=a+c;
a=b;
b=c;
c=s;
}
printf("%d\n",s);
}
}
}
}
注意:
1、输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。n=0表示输入数据的结束,不做处理。
2、对于每个测试实例,输出在第n年的时候母牛的数量。每个输出占一行。
3、看题不要急,细心对待。
4、当n=1时,有1头;n=2时,有2头;n=3时,有3头;n=4,有4头;n=5,有6头;n=6时,有9头;n=7时,有13头;……
5、由4可以看出此题的规律为:f(n)=f(n-1)+f(n-3),n>3。
收获:
1、让我理解,有的数组认真去观察,还是有一定的规律。
2、做题时,还是要慢慢地去体会去理解。
3、让我更深入了解了递推。