斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、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*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从 1963 年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。
逻辑解析:
斐波那契数列前两项确定为0,1, 后面数列均为前面2项之和, 用一个公式表示, 即F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*), 这也意味着F(n)不断增加就得到所有的数列.
a F(n-2)
b F(n-1)
以临时变量k存放a, 迭代赋值进行计算.
示例
def fibonacci(n): # 斐波那契数列
a, b, = 0, 1
while a < n:
print("斐波那契数:", a)
k = a
a = b
b = k+b
return k
print(fibonacci(10000))
结果
斐波那契数: 0
斐波那契数: 1
斐波那契数: 1
斐波那契数: 2
斐波那契数: 3
斐波那契数: 5
斐波那契数: 8
斐波那契数: 13
斐波那契数: 21
斐波那契数: 34
斐波那契数: 55
斐波那契数: 89
斐波那契数: 144
斐波那契数: 233
斐波那契数: 377
斐波那契数: 610
斐波那契数: 987
斐波那契数: 1597
斐波那契数: 2584
斐波那契数: 4181
斐波那契数: 6765
6765