斐波那契数列,又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列: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*)
方法1: 使用递归
def fibonacci(n):
""" 实现斐波那契数列 """
if n == 1 or n == 2:
return n
else:
return fibonacci(n-2) + fibonacci(n-1)
方法2: 按照fibonacci数列定义处理
def fibonacci(n):
""" 实现斐波那契数列 """
if n == 1 or n == 2:
return 1
f_n_1, f_n_2 = 1, 1
for i in range(3, n+1):
tmp = f_n_1 + f_n_2
f_n_1 = f_n_2
f_n_2 = tmp
return f_n_2
网友评论