Python斐波拉契数列

 1 '''
 2 4. 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后
 3 每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
 4 # 兔子的规律为数列1,1,2,3,5,8,13,21....
 5 '''
 6 a, b = 0, 1
 7 # moon = int(input("请输入月数"))
 8 moon = 5
 9 for moon in range(moon):
10     print("第{0}个月兔子总数有{1}对".format(moon+1, b))
11     a, b = b, a + b

这个例子介绍了几个新特征。

第一行包含了一个复合赋值:变量 a 和 b 同时得到新值 0 和 1。最后一行再次使用了同样的方法,

可以看到,右边的表达式会在赋值变动之前执行。右边表达式的执行顺序是从左往右的。

 

 

1. 斐波那契数列 概念引入

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。

 

数学上,斐波那契数列以递归的形式进行定义:

 

 

 

场景

先来开看看“兔子数列”以及其他数学应用场景!!

 

1. 1 兔子数列

一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子?

 

 

 

2.1 兔子繁殖问题
斐波那契数列又因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。

 

一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子?

 

我们不妨拿新出生的一对小兔子分析一下:

 

第一个月小兔子没有繁殖能力,所以还是一对

 

两个月后,生下一对小兔对数共有两对

 

三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对

 

-----------------------------------------------------------------------------------------------------------

依次类推可以列出下表:

 

原文地址:https://www.cnblogs.com/xxxtony/p/11565622.html