当前位置:首页 » 编程语言 » c语言母牛递归
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言母牛递归

发布时间: 2022-08-29 11:06:53

c语言母牛生小牛(时间超了)

用递归效率低是正常的,毕竟频繁的函数调用是要占据大量的时间空间。
如果该题不是一定要用递归算法的话,我给你个新的算法(肯定不会超时),但是代码我就不写了,因为很简单。
初始化 int cow_age[4] = {1, 0, 0, 0};分别代表出生1年、出生2年、出生3年、出生4年以后的母牛数目,最初有个出生1年的母牛(题目给出)。
然后设置循环变量i,i每自加一次就代表过一年,循环内容是
cow_age[3]+ = cow_age[2] //3岁的母牛长到了4岁
cow_age[2] = cow_age[1] //2岁的母牛长到了3岁
cow_age[1] = cow_age[0] //1岁的母牛长到了2岁
cow_age[0] = cow_age[3] //每个4岁以上的母牛生了一只1岁的小牛
总数就是 cow_age[0]+cow_age[1]+cow_age[2]+cow_age[3]。
理解应该没问题吧

Ⅱ c语言编程:递增的牛群:若一头小母牛,从第四个年头开始每年生一头母牛。按此规律,第n年时有多少头母

1/************************************************************************

递增的牛群的问题。若1头小母牛,从第4年开始每年生一头母牛,按此规律,第20年
时,有多少头母牛?
************************************************************************/
2
3#include<stdio.h>
4
5intmain()
6{
7inti,f1=1,f2=1,f3=1,f4;
8
9for(i=4;i<=20;i++)
10{
11f4=f1+f3;
12f1=f2;
13f2=f3;
14f3=f4;
15}
16printf("第20年都一共有%d头母牛 ",f4);
17}

Ⅲ C语言设有一头小母牛,从出生第四年起每年生一头小母牛,按此规律,第N年时有几头母牛 求解释

n-1说的是去年一共有多少头,然后n-3说的是3年前有多少头(也就是说性成熟可生育的母牛数量),那么去年的牛数加上可生育的牛数量(也就是今年新产的小牛数量)就是今年牛数量
举个例子,第5年就是第四年的牛数量加上第2年的牛数量(第二年的牛已经全部可以生育了)

Ⅳ C语言编程问题 母牛繁殖

我用递归的方法写了个,非递归的方法暂时没想出来:

#include<stdio.h>

voidCow(int*femaleCow,intn)
{
for(inti=1;i<=n;++i)
{
*femaleCow+=1;
if(i+4<=n)
Cow(femaleCow,n-(i+4)+1);
}
}

intmain()
{
for(inti=1;i<=20;++i)
{
intfemaleCow=1;

Cow(&femaleCow,i);

printf("第%2d年:%3d头母牛\n",i,femaleCow);
}
}

也不能肯定对你的问题有没有理解对,以下是测试结果,你要的答案的第20年的:

第1年:2头母牛//第一头母牛加她生的小牛
第2年:3头母牛//依次类推
第3年:4头母牛
第4年:5头母牛
第5年:7头母牛//第一年生的小牛开始生了
第6年:10头母牛//第二年生的小牛也开始了
第7年:14头母牛
第8年:19头母牛
第9年:26头母牛
第10年:36头母牛
第11年:50头母牛
第12年:69头母牛
第13年:95头母牛
第14年:131头母牛
第15年:181头母牛
第16年:250头母牛
第17年:345头母牛
第18年:476头母牛
第19年:657头母牛
第20年:907头母牛

不知道你要的是不是这样的结果?

Ⅳ c语言编写程序:年头有一头牛,年初要生头小牛;每头小牛从第四年也要生头小牛。第20年头上共有多少头牛

斐波拉契数列。搜下这几个字就能找到程序了。
纯粹好奇,跟本题没关系:一头牛怎么生小牛?怎么保证每头小牛都是母的?

Ⅵ C语言编程,课题:递增的牛群

递归式为典型的fabnaccio 数列 : f(1)=1; f(2)=1;f(3)=1; f(n)=f(n-1)+f(n-3) (n>=4) (推导不解释,自己慢慢理解)。#include<stdio.h>long f[23]={0,1,1,1}; //f[]记录每年的母牛数void fu(){
for(int i=4;i<=20;i++) f[i]=f[i-1]+f[i-3];}int main(){ fu(); printf("%ld\n",f[20]); return 0;}

Ⅶ c语言编程:递增的牛群:若一头小母牛,从第四个年头开始每年生一头母牛。按此规律,第n年时有多少头母牛

1、从桌面打开下载好的编程软件,下图为visual C++的打开界面。

Ⅷ 求助:用c语言来求牛的繁殖的问题

此题关键要画个图分析就容易解决,好那个经典兔子问题的裴波那切数列很像

#include<stdio.h>

#include<stdlib.h>

intmain()

{

inta,b,c,d;

a=1,b=1;

c=1;

for(inti=4;i<=20;i++)

{

d=a+c;

a=b;

b=c;

c=d;

}

printf("第20年有牛%d头 ",d);

}

要好好学习c语言,祝早日成功!

Ⅸ c++母牛的故事 裴波那契数列

这个函数,是在n>4的时候被回调的。也就是说在范围内,这个函数会被执行到n=4的时候,而且如果在n>5的时候,会执行如cow(5)的函数,这个返回的值就会进行累加其内部最终的返回值n
打个比方,如果n=7的时候,会按照如下进行
cow(6)+ cow(4)- >
cow( 5 ) + cow( 3 ) + 4 - >
cow( 4 ) + cow( 2 ) + 3 + 4 ->
( 4 + 2 ) + 3 + 4 =13
不知道是否解答对了。但是应该是这样子解释的。
很高兴收到楼主的问题求助,
如果解决了楼主的问题,希望楼主采纳,欢迎再次收到楼主的疑问

Ⅹ C语言 递归调用 求高手帮忙啊 救命啊!!!!!!!

当n<4时,只有一头牛,一直没有新牛,所以cownum()为1;
当n>=4时,第n年牛的数量cownum(n)为前一年的牛的数量cownum(n-1)加上新生下来的牛的数量。
因为每头牛每年生育一头小牛,所以新出生的小牛的数量等于之前可以生育的牛的数量。而可以生育的牛的数量为年龄大于等于3周岁的牛的数量,即第n-3年时的牛的数量,即cowmun(n-3)。(注:n-2,n-1年新出生的牛没有生育能力)。