题意:
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
思路
年:1 2 3 4 5 6 7 8
牛:1 2 3 4 6 9 13 19
前四年没有疑问 每年加一头从第五年开始 在第四年的基础上 第二年的牛各下了一头牛 第六年 在第五年的基础上 第三年的牛各下了一头牛 依次类推
第N年的母牛的数量是在他前一年的基础上 加上第N-3年的牛数
DP[I]=DP[I-1]+DP[I-3];
话说这牛也不会死吗???
#include<iostream>
using namespace std;
int DP[55];
int main()
{
DP[0] = 0;
DP[1] = 1;
DP[2] = 2;
DP[3] = 3;
DP[4] = 4;
for (int i = 5;i <55;i++)
{
DP[i] = DP[i - 1] + DP[i - 3];
}
int a;
while (cin>>a&&a)
{
cout << DP[a]<<endl;
}
return 0;
}