本文主要是介绍【兔子繁殖问题——C语言详解】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
兔子繁殖
1.问题举例
兔子繁殖问题:假定一对大兔子每月能生一对小兔子,且每对新生的小兔子经过一个月可以长成一对大兔子, 具备繁殖能力,如果不发生死亡,且每次均生下一雌一雄,问一年后共有多少对兔子?
注意:(此题关键!)
1.大兔子开始就是一对。
2.幼崽要先成长一个月才能繁殖。
2.分析:
分析:第一个月兔子没有繁殖能力,所以还是一对;两个月后生下一对兔子,共有两对;三个月后,老兔子生下一对,小兔子还没有繁殖能力,所以一共是三对,以此类推,可以列出下表
表中1,1,2,3,5,8,13…构成一个序列,这个数列有一个特点就是前两项之和等于后一项
数学函数定义:(斐波那契数列)
3.代码详解:
//数组实现
void Fbi Arr(int n)
{int i;int a[n];a[0] = 0;a[1] = 1;for (i = 2; i < n; i++){a[i] = a[i - 1] + a[i - 2];printf("%d",a[i]);}}//递归实现int Fbi(int n){if (n < 2)return n = 0? 0 : 1;return Fbi(n - 1) + Fbi(n - 2);}//迭代实现(循环)int FbiNormal(int n){int n1= 1, n2 = 1, ns = 0;for (int i = 1; i < n; i++){ns = n1 + n2;n1 = n2;n2 = ns;}return ns;}
多看几遍,慢慢理解!!
可以一键三连吗!!!
这篇关于【兔子繁殖问题——C语言详解】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!