斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家萊昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:1、1、2、3、5、8、13、21、34、……在數學上,斐波那契數列以如下被以遞推的方法定義:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)
實現單個屬於斐波那契數列的數
# 第一種 函數實現
def fb(n):
a,b=1,1
for i in range(n-1):
a,b=b,a+b
return a
# 輸出了第4個斐波那契數列
print(fb(4))
#第二種 使用遞歸
def fb(n):
if n == 1 or n == 2:
return 1
return fb(n - 1) + fb(n - 2)
# 輸出了第4個斐波那契數列
print(fb(4))
實現斐波那契數列
def fb(n):
if n == 1:
return [1]
if n == 2:
return [1, 1]
fbs = [1, 1]
for i in range(2, n):
fbs.append(fbs[-1] + fbs[-2])
return fbs
print(fb(10))