母牛的故事(HDU-2018)
生活随笔
收集整理的這篇文章主要介紹了
母牛的故事(HDU-2018)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Problem Description
? ? 有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請編程實現在第n年的時候,共有多少頭母牛?
Input
? ??輸入數據由多個測試實例組成,每個測試實例占一行,包括一個整數n(0<n<55),n的含義如題目中描述。<br>n=0表示輸入數據的結束,不做處理。
Output
? ??對于每個測試實例,輸出在第n年的時候母牛的數量。
????每個輸出占一行。
Sample Input
2
4
5
0
Sample Output
2
4
6
思路:
由題意:
? ? 第1年:1頭牛
????第2年:2頭牛
????第3年:3頭牛
????第4年:4頭牛
????第5年:6頭牛
????第6年:9頭牛
????第7年:13頭牛
????第8年:19頭牛
????第9年:28頭牛
可得:
????f(n)=n????n<=4
????f(n)=f(n-1) + f(n-3) ????n>4
其中,f(n)是當前年的牛數,f(n-1)是前一年的牛,第n年仍在,f(n-3)是前三年那一年的牛,第n年具有生育能力
Source Program
#include<iostream> using namespace std;int cow(int n) {if(n<=4)return n;elsereturn cow(n-1)+cow(n-3); }int main() {int n;while(cin>>n && n)cout<<cow(n)<<endl;return 0; }?
總結
以上是生活随笔為你收集整理的母牛的故事(HDU-2018)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛C++语言:质因数分解
- 下一篇: 选数(洛谷-P1036)