传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2018
递归问题
cow(i)表示第 i 年母牛数量
cow(i)=cow(i-1)+cow(i-3)
即前一年牛的基础上再加上三年前(现在是第四年)母牛数量
记得看《数据结构计算法分析》中说过递归造成的内存浪费,过两天请教大牛吧。
额···过去了若干天,我发现这是道很二的题,当然,几个月前的自己很二!!!
#include<iostream>
using namespace std;
int cow[100];
void set ()
{
cow[1] = 1;
cow[2] = 2;
cow[3] = 3;
cow[4] = 4;
for(int i = 5;i <= 56;i ++)
cow[i] = cow[i-1] + cow[i-3];
}
int main()
{
int n;
set ();
while (cin >> n && n != 0)
cout << cow[n] << endl;
return 0;
}