首页 > 代码库 > 母牛生小牛

母牛生小牛

Description

设有一头小母牛,从出生第四年起每年生一头小母牛,按此规律,第N年时有几头母牛?

Input
本题有多组数据。每组数据只有一个整数N,独占一行。(1≤N≤50)。当N为0时,输入结束。

Output
对每组数据,输出一个整数(独占一行)表示第N年时母牛的数量。

Sample Input
1
4
5
9
20
0

Sample Output
1
2
3
13
872

Source

2005计算机系程序设计竞赛


分析:很明显 用Fibonacci 数列来解决,注意用3阶。

代码:

#include<stdio.h>
long long fibonacci[52];
int main()
{
int i,n;
fibonacci[1]=1;
fibonacci[2]=1;
fibonacci[3]=1;
fibonacci[4]=2;
for(i=5;i<52;i++)
fibonacci[i]=fibonacci[i-4]+fibonacci[i-3]+fibonacci[i-2];
while(scanf("%d",&n)==1 && n!=0)
printf("%lld\n",fibonacci[n]);
return 0;
}