斐波那契数列(兔子繁殖)问题
斐波那契数列(兔子繁殖)问题
最新推荐文章于 2024-10-11 21:51:08 发布

李歘歘 于 2019-07-19 16:52:57 发布
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
算法描述:
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月 后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前20个月的数量)
输出格式:
输出20个数字,
思路:
斐波那契数列(Fibonacci sequence),又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)。就是前两个数的和等于第三个数的值。
程序代码:
非递归方式:#include<stdio.h>
int main(){
int n1,n2;
n1=n2=1;
for(int i=0;i<10;i++){
printf("%dn",n1);
printf("%dn",n2);
n1=n1+n2;
n2=n2+n1;
}
return 0;
}
递归方式:#include<stdio.h>
int Fibon(int n){
if(n==1||n==2){
return 1;
}else{
return Fibon(n-1)+Fibon(n-2);
}
}
int main(){
for(int i=1;i<=20;i++){
printf("%dn",Fibon(i));
}
return 0;
}
数组表示#include<stdio.h>
int main(){
int a[20]={0};
a[0]=a[1]=1;
for(int i=2;i<20;i++){
a[i]=a[i-1]+a[i-2];
}
for(int i=1;i<20;i++){
printf("%dn",a[i]);
}
return 0;
}
运行结果:

相关知识
斐波那契数列python实现,时间/空间复杂度比较
兔子几个月开始繁殖
斐波那契数列问题
兔子繁殖能力多强?男子捡回3只7个月生育近百只!
兔子出生多久可以繁殖
怎样让宝贝吃嘛嘛香?看看别家铲屎官都是怎么说的吧!
直接推导获得解答(分析)
1312:【例3.4】昆虫繁殖(递推算法)
24只兔子繁衍了100亿只,澳大利亚最后是如何解决野兔泛滥问题的?
在科学史上,都有哪些有名的科学家和他的动物
原文链接: 斐波那契数列(兔子繁殖)问题 https://www.mcbbbk.com/newsview978805.html
| 上一篇: 怎样让兔子快速怀孕(兔子快速繁殖... | 下一篇: 宠物兔繁殖指南 |





