古典问题:
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1,对于这个一般都知道每个月兔子的对数符合斐波那契数列,但是有一个疑问,就是为什么符合斐波那契数列?
从数学角度来看斐波那契数列就是从第三项开始本项等于前面两项的和,这是对一些特定问题总结出来的数学规律。学数学时只是对这个数列的性质有了初步的了解,遇到一些有关斐波那契数列的具体问题,可以通过斐波那契数列相关运算得出结果,却有了上面的疑问。其实这个很正常,因为你先知道它符合斐波那契数列(比如题目后面有提示或者做不出网上找答案告诉你这个问题是个斐波那契问题)缺少相应的分析,所以只能怪作题时少了分析这一步。
2,对题目具体分析:
“小兔子长到第三个月后每个月又生一对兔子”这句话是问题的中心,也是决定条件。从中可以看出本月(除第一,第二月外)的数量与前面两个月的数量有关(因为有些兔子已经成年了,可以干那个了)。因为现在可以确定的是前两个月的兔子全部成年了,会影响本月的兔子数量,而前一个月未成年的兔子不会影响本月的出生数量,所以可以通过前两个月的数量确定本月的出生数量,最后加上前一个月的数量就等于本月的数量了。
3,代码:
从前面的分析中可以看出可以利用递归解决这个问题。