編程生牛
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;
}