HDU2018 母牛的故事
阿新 • • 發佈:2018-12-11
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; } }