概述
兔子繁殖问题
问题描述
著名意大利数学家Fibonacci曾提出这样一个问题,说是:有一对兔子,从出生后第3个月起每月都生一对小兔子,小兔子长到第3个月后每个月又生一对小兔子,按此规律,假设兔子没有死亡,第一个月有一对刚出生的小兔子,问第n个月有多少对兔子?
问题分析
对于这类问题,如果仅凭脑子思考,想不明白的话,可以通过模拟兔子生小兔子列式子的方式来做,找出其中的规律
(编程就是通过找题目中的规律,然后抽象,使得可以用通用方式来表达,再将这种通用方式写成某种语言的形式)
第1个月:1
第2个月:1
第3个月:1+1=2(第1个数1表示原来的兔子,第2个数1表示生的小兔子)
第4个月:2+1=3(第1个数2表示上个月的兔子数,第2个数1表示一开始的兔子又生了一对小兔子)
第5个月:3+2=5(第1个数3表示上个月的兔子数,第2个数2表示一开始的老兔子又生了一对小兔子+老兔子的孩子生的一对小兔子,其实就是上上个月的兔子数,上上个月有几对兔子,就会再生几对小兔子)
第6个月:5+3=8
第7个月:8+5=13
由上面的分析可以得到一个规律,就是目前的兔子对数,就是上个月的兔子数+上上个月的兔子数
(其实这个规则,通过数字1 1 2 3 5 8 13….的规律也可以看出来,这就是著名的斐波那契数列。)
参考程序
这个程序可以采用两种方式来实现:
一是采用循环
#include int main(){ int i,n,llnum=1,lnum=1,temp; scanf("%d
最后
以上就是淡淡方盒为你收集整理的兔子生崽问题编程_算法学习-兔子繁殖问题的全部内容,希望文章能够帮你解决兔子生崽问题编程_算法学习-兔子繁殖问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复