题目简述:有一对夫妇买了一头母牛,母牛从第二年开始每年生一头小牛,每一头小牛从第四个年头开始每年年初也生一头小牛,求第n年有多少头牛。
解题思路:
1、第一年有一头牛a[i]=i+1=1(i=0);
2、第二年有两头牛a[i]=i+1=2;
3、第三年有三头牛a[i]=i+1=3;
4、第四年里第一年生的小牛也可以生牛,a[i]=a[i-1]+a[i-3];
由此找到递推关系。
源代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
while (cin>>n)
{
if (n==0)
break;
int i;
vector<int>v;
for (i=0;i<n;i++)
{
if (i<4)
v.push_back(i+1);
else
v.push_back(v[i-1]+v[i-3]);
}
cout<<v[i-1]<<endl;
v.clear();
}
return 0;
}
解题感想:对于这样一个比较简单的递推题目,放在第一个题是来练手的。因为是中文所以做起来比较容易,而且关系比较容易找。比较简单的一道题目。