有一个农场在第一年的时候买了一头刚出生的牛,这头牛在第四年的时候就能生一头小牛,以后每年这头年就会生一头小牛。这些小牛成长到第四年也会生小牛,以后每年同样会生一头牛,假如牛不死,如此反复。请问20年后,这个农场会有多少头牛?
数列为: 1 1 1 2 3 4 6 9 13 19 28 41 60……
终止条件是:f(1)=f(2)=f(3)=1
递归式:f(n)=f(n-1)+f(n-3)
int f(int n)
{
int s;
if(n==1||n==2||n==3)
return 1;
else
s=f(n-1)+f(n-3);
return s;
}
int main()
{
printf("%d\n",f(20));
return 0;
}