概述:有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
思路:这道题是去年某一次的C++作业,当时没有系统的学习动态规划,也不懂什么递归,做了很久,至今记忆犹新啊。
感想:无。
#include<iostream>
using namespace std;
long long dp[50];
int main()
{
//ifstream cin("aaa.txt");
int n;
int flag = 4;
dp[1] = 1;
dp[2] = 2;
dp[3] = 3;
dp[4] = 4;
while (cin >> n&&n)
{
if (n <= flag)
cout << dp[n] << endl;
else
{
for (int i = flag + 1; i <= n; ++i)
dp[i] = dp[i - 1] + dp[i - 3];
cout << dp[n] << endl;
}
}
return 0;
}