天天看點

hdu2018 母牛的故事 (動态規劃)

母牛的故事

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 56125    Accepted Submission(s): 28017

Problem Description

有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實作在第n年的時候,共有多少頭母牛?

Input

輸入資料由多個測試執行個體組成,每個測試執行個體占一行,包括一個整數n(0<n<55),n的含義如題目中描述。

n=0表示輸入資料的結束,不做處理。

Output

對于每個測試執行個體,輸出在第n年的時候母牛的數量。

每個輸出占一行。

Sample Input

2

4

5

Sample Output

2

4

6

Author

lcy

Source

​​C語言程式設計練習(三)​​

Recommend

lcy   |   We have carefully selected several similar problems for you:  

​​1297​​​ 

​​​2190​​​ 

​​​2501​​​ 

​​​1465​​​ 

​​​1480​​ 

解析:f[i] 表示第 i 年的母牛數量。

代碼:

#include<cstdio>
using namespace std;

const int maxn=55;
int f[maxn+10];

int main()
{
  int i,n;
  f[1]=1,f[2]=2,f[3]=3; 
  for(i=4;i<maxn;i++)f[i]=f[i-1]+f[i-3];
  while(scanf("%d",&n),n)printf("%d\n",f[n]);
  return 0; 
}