编程生牛
A. 利用C++编写母牛生小牛的程序怎么写啊
(有一头母牛老世盯,她每年年初生一头小母牛,每头小母牛从第返笑四个年头起,每年年初侍和也生一头小母牛。求在第20年时共有多少头牛。)
答案是2745
func(int
n)
{
int
sum=0;
if(n==0)
sum=1;
if(n==1)
sum=2;
if(n==2)
sum=3;
if(n==3)
sum=4;
if(n>=4)
sum=func(n-1)+func(n-3);
return
sum;
}
int
main(int
argc,
char*
argv[])
{
int
a;
cout<<"请输入年数:";
cin>>a;
cout<
评论
0
6
加载更多
#include<stdio.h>
#define Max 20//0记做第一年(2头牛),20记做第二十年
void main()
{
int sum=1,i,year,a[100]={0};//sum记录总数,a[]储存每头牛的存活年数
for(year=0;year<=Max;year=year+4)//年数按4年递增
{
//此循环目的是闷升查看每头牛的年龄,并作出判断操作
for(i=sum-1;i>=0;i--)//因为数组从0开始所以sum要减一
{
a[i]+=4;//每头牛成长4岁
if(a[i]>15&&a[i]<20)//表示在这一年死过的牛
sum-=1;//总数减一
}
sum=2*sum;//再生一批牛
}
printf("%d\n",sum);
}
第16年才是26头李汪,第20年应为48头,而不是50头,前面程序有算得50头的,应该不正确,请再检查算法
思路呢就是:
比如说蚂扰老第一年有两头牛,先让他们的年龄+4,然后查看是否死掉,死掉的从总数中减去再乘以2,依次类推
C. c语言编写程序:年头有一头牛,年初要生头小牛;每头小牛从第四年也要生头小牛。第20年头上共有多少头牛
斐波拉契数列。搜下这几个字就颂猜能找到程序了。
纯粹好奇,跟本题没关系:一头牛怎么生小牛?怎么保证每头小牛都野指型是母的逗闷?
D. 利用C++编写母牛生小牛的程序怎么写啊
以下程序冲搏假设的是开始时(第0年)母牛还不生牛小一头小牛,第一年满了才开始生牛,即第一年后牛族洞总数 2 头。
复杂度O(n*(n-3))
#include<iostream.h>
int main()
{
int n,i,sum;
cout<<"输入测试年数,输0结束测试."<<endl;
cin>>n;
while( n ) //多余4年时母牛生的小牛会生小牛
{
if (n<5) //不足4年时母牛生的小牛不会生小牛
{
sum=1;
sum += n;
cout<<"第"<<n<<"年 共"<<sum<<"头"<<endl;
cin>>n;
}
else
{
sum = 4;
for (i=n-3; i>0 ;i--) /散穗祥/循环n-3次,最后三年生的3头小牛还不会生小牛
{
sum += i;
}
cout<<"第"<<n<<"年 共"<<sum<<"头"<<endl;
cin>>n;
}
}
return 0;
}