题意:
中文题
做法:
第一年为初始1头牛,第二年初生了一头,共2头。前四年,奶牛数f(n)=n,超过四年后,因为前面第三年出生奶牛现在到了第四年也可以生了,那么该年的奶牛就等于前一年的奶牛+前面第三年的奶牛,例如第五年为 第四年的 加上 第二年的奶牛数
递推函数 f(n)=f(n-1)+f(n-3) (n>4)
ac代码:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int ans[60];
ans[0]=1;
ans[1]=1;//一开始只有1头母牛
ans[2]=2;//第二年初生了一头,共2头
ans[3]=3;
ans[4]=4;
for(int i=5;i<=56;i++)
ans[i]=ans[i-1]+ans[i-3]; //递推数列 算出前55个结果
int n;
while(cin>>n) //直接输出n的结果
{
if(n==0) break;
cout<<ans[n]<<endl;
}
return 0;
}