今天给各位分享c语言兔子问题的知识,其中也会对c语言兔子问题的题目和答案进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、C语言兔子问题2、C语言的兔子问题3、C语言编程题目 兔子繁衍问题?4、C语言编程:兔子繁殖问题
C语言兔子问题
#includestdio.h
int main(void)
{
int n,i,a,b,c;
a=0;
b=1;
i=1;
printf(“请输入兔子对数n=”);
scanf(“%d”,n);
while(bn){
c=a+b; /*while里面一次循环是1个月*/
a=b;
b=c;
i++;
}
printf(“至少%d月”,i);
return 0;
}
C语言的兔子问题
//斐波那契数列问题。
//通过递归调用可以实现
//希望我的回答对你有帮助,呵呵
#include stdio.h
int fun(int);
int main()
{
int n;
scanf(“%d”,n);
for(int i=1;i=n;i++)
{
printf(“%-4d”,fun(i));
}
printf(“\n”);
return 0;
}
int fun(int i)
{
if(i==1||i==2)
return 1;
else return fun(i-1)+fun(i-2);
}
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语言编程:兔子繁殖问题
思路不要乱。这个月的兔子只有两个来源,一个来源是上个月的老兔子,另一个来源是这个月刚出生的兔子,而这个月刚出生的兔子,就是两个月前的所有兔子,因为两个月前的所有兔子,无论两个月前就是老的,还是两个月前刚生的,到了这个月就全部具有生育能力,每只都可以下一对儿,所以可以得到一个递推关系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语言兔子问题和c语言兔子问题的题目和答案的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。