fibnacci 數列遞迴實現
阿新 • • 發佈:2021-11-06
fibnacci 數列遞迴實現
什麼是fibnacci數列?
斐波那契數列(Fibonacci sequence),又稱黃金分割數列,因數學家萊昂納多·斐波那契(Leonardo Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:0、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*)在現代物理、準晶體結構、化學等領域,斐波納契數列都有直接的應用,為此,美國數學會從 1963 年起出版了以《斐波納契數列季刊》為名的一份數學雜誌,用於專門刊載這方面的研究成果。
斐波那契數列指的是這樣一個數列:
這個數列從第3項開始,每一項都等於前兩項之和。
它的遞迴表示式
Fibonacci數列:
F(1)=1
F(2)=1
F(n)=F(n-1)+F(n-2) (n>2)
遞迴表示式
def fib(n):
return 1 and n <= 2 or fib(n - 1) +fib(n - 2)
print('\n 最終結果為 %d'%(fib(n)))
and
def fib(n): a,b=1,1 for i in range(n): a,b=b,a+b return a print(fib(10)) print(fib(100)) print(fib(1000)) print(fib(10000))
and
# Filename : test.py # author by : www.runoob.com def recur_fibo(n): """遞迴函式 輸出斐波那契數列""" if n <= 1: return n else: return(recur_fibo(n-1) + recur_fibo(n-2)) # 獲取使用者輸入 nterms = int(input("您要輸出幾項? ")) # 檢查輸入的數字是否正確 if nterms <= 0: print("輸入正數") else: print("斐波那契數列:") for i in range(nterms): print(recur_fibo(i))