有一对夫妇买了一头母牛,它从第2年起每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。
输入一个数求此时共多少牛。本题中的牛不死,而思路,设今年是第i年,i年的羊数等于i-1年数加上今年出生的羊,而新生小羊三年后可生羊,那么i-3年内出生羊无生育能力,那么i-3年有多少羊,i年就有多少出生新羊。本题需预处理到至少55年。
#include<iostream>
using namespace std;
int main()
{
int a[60],k=0,n,o=0,b[100];
for(int i=0;i<60;i++)
{
if(i<4){a[i]=1;}
else
{a[i]=a[i-1]+a[i-3];}i年等于i-1年有的羊加i-3年羊数量表示i年的羊生育力
}
while(3)
{
cin>>n;
if(n==0){break;}
else
{
for(int i=0;i<n;i++)
{
k=k+a[i];
}
}
b[o]=k;
o=o+1;
k=0;
}
for(int i=0;i<o;i++)
{cout<<b[i]<<endl;}
}