有一对夫妇买了一头母牛,它从第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;}
}
本文通过编程解决了一个经典的母牛繁殖问题,其中涉及到母牛从第二年开始每年生一头小母牛,而这些小母牛从第四年开始每年也能生一头小母牛。通过递推公式计算任意年份的母牛总数。
1199

被折叠的 条评论
为什么被折叠?



