1. 程式人生 > >HDU2018 母牛的故事

HDU2018 母牛的故事

Time Limit: 2000/1000 MS (Java/Others)

Memory Limit: 65536/32768 K (Java/Others)
[顯示標籤]
Description
有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?
Input
輸入資料由多個測試例項組成,每個測試例項佔一行,包括一個整數n(0<n<55),n的含義如題目中描述。
n=0表示輸入資料的結束,不做處理。
Output
對於每個測試例項,輸出在第n年的時候母牛的數量。
每個輸出佔一行。
Sample Input

2
4
5
0

Sample Output

2
4
6

Hint
lcy
Source
  C語言程式設計練習(三)  
Related problem
2015 2020 2024 2025 2027

這道題重點還是在數學上,一種斐波那契的疊加,先找規律吧,前4年小母牛沒有生育能力,靠老母牛生產(並且這個過程不需要公牛,並且不生產公牛哈哈),四年後,第一隻小母牛開始生產.......如表,有一種遞迴的味道啊。公式出來了,程式碼實現部分就不難了,先寫個計算的遞迴函式就可以了。

程式碼如下:

#include <iostream>
using namespace std;

int Fib(int n)
{
if(n<=4)
    return n;
else
    return Fib(n-1)+Fib(n-3);
}

int main ()
{
int n;
while (cin >> n,n!=0)
{
cout<<Fib(n)<<endl;
}
}