189 8069 5689

c语言兔子繁殖问题函数 c语言兔子繁殖问题

C语言兔子繁殖问题

第一。。。定义为50是因为会用到45.一般都会定义大一点。

从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供网站设计制作、成都做网站、网站策划、网页设计、域名申请、网页空间、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。

第二。。。怎么可能会不可以运行。你就算2个都改成45也是可以用的。

你截图上来。怎么可能不可以。我刚用编译器试过。可以

C语言编程:兔子繁殖问题

思路不要乱。这个月的兔子只有两个来源,一个来源是上个月的老兔子,另一个来源是这个月刚出生的兔子,而这个月刚出生的兔子,就是两个月前的所有兔子,因为两个月前的所有兔子,无论两个月前就是老的,还是两个月前刚生的,到了这个月就全部具有生育能力,每只都可以下一对儿,所以可以得到一个递推关系f(n) = f(n - 1) + f(n - 2)。那么程序自然是

long fun(int month)

{

if(month == 1 || month == 2)

return 1;

else

return fun(month - 1) + fun(month -2);

}

// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。

int main()

int Mon;

long Num;

scanf("%d",Mon);

Num = fun(Mon);

printf("第%d月共有兔子%ld只\n",Mon,Num); 

return 0; 

}

至于你的程序,很难把它改正确,因为这题压根不是那个思路,那样想会越想越乱的

C语言编程题目 兔子繁衍问题?

方法一、用递归。

方法二、把兔子定义成结构,每个兔子自带计时器变量,繁殖就是新建节点,构建结构链表。每次循环遍历所有节点的计时变量大于3的就新建一个节点插入链表。最后统计节点数量。

我用方法1来写:

#include stdio.h

int childbirth(int bMth,int gMth)//bMth:调用时传0,gMth:经过的最大月数

{

int cnt=0,n=bMth,num=2;

while(n++gMth+1)

  if(cnt++2)

      num=num+childbirth(n,gMth+1);

return num;

}

int main()

{

int i,n;

printf("请输入经过多少月:"),scanf("%d",n);

for(i=1;i=n;i++)

  printf("经过%d个月后:兔子数量为:%d\n",i,childbirth(0,i));

return 0;

}

c语言题老师留的 兔子繁殖问题,用递归函数的方法做。 个位大神编一个然后写下答案请写上兔子多少只

//兔子的对数,就是Fibonacci数列

//1 1 2 3 5 8 13 21 34 55 89 ...

#include stdio.h

int f(int n)

{

if(n  3)

return 1;

else

return f(n - 2) + f(n - 1);

}

void main()

{

int n;

scanf("%d", n);

printf("%d年后,有兔子%d只.\n", n, f(n));

}


名称栏目:c语言兔子繁殖问题函数 c语言兔子繁殖问题
URL标题:http://cdxtjz.com/article/dopedjj.html

其他资讯