python列表實現斐波那契數列的計算

2021-10-02 16:46:38 字數 2382 閱讀 4459

問題:

有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13…

求出這個數列的前20項之和

這道題是典型的斐波那契數列。斐波那契數列(fibonacci sequence),又稱**分割數列、因數學家列昂納多·斐波那契(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*)在現代物理、準晶體結構、化學等領域,斐波納契數列都有直接的應用,為此,美國數學會從 1963 年起出版了以《斐波納契數列季刊》為名的乙份數學雜誌,用於專門刊載這方面的研究成果。

具體的**如下:

import numpy as np

fibolength =

20fiboracci =[1

,2]fiboratio =[2

/1]fibosum = fiboratio[0]

for i in

range(1

,fibolength,1)

:+fiboracci[i-1]

)1]/fiboracci[i]

) fibosum = fibosum + fiboratio[i]

print

("斐波那契數列(前21位)如下:"

)print

(fiboracci)

print

('斐波那契比(前20位)如下:'

)print

(fiboratio)

print

('斐波那契比(前20位)之和如下:'

)print

(fibosum)

fiboarray = np.array(fiboratio)

print

('斐波那契比(前20位)如下:'

)print

(fiboarray.reshape(5,

4))print

('斐波那契比(前20位)之和如下:'

)fibosigma = np.

sum(fiboratio)

print

(fibosigma)

執行結果如下:

斐波那契數列(前21位)如下:[1

,2,3

,5,8

,13,21

,34,55

,89,144

,233

,377

,610

,987

,1597

,2584

,4181

,6765

,10946

,17711

]斐波那契比(前20位)如下:

[2.0

,1.5

,1.6666666666666667

,1.6

,1.625

,1.6153846153846154

,1.619047619047619

,1.6176470588235294

,1.6181818181818182

,1.6179775280898876

,1.6180555555555556

,1.6180257510729614

,1.6180371352785146

,1.618032786885246

,1.618034447821682

,1.6180338134001253

,1.618034055727554

,1.6180339631667064

,1.6180339985218033

,1.618033985017358

]斐波那契比(前20位)之和如下:

32.66026079864164

斐波那契比(前20位)如下:[[

2.1.51.66666667

1.6]

[1.625

1.61538462

1.61904762

1.61764706][

1.61818182

1.61797753

1.61805556

1.61802575][

1.61803714

1.61803279

1.61803445

1.61803381][

1.61803406

1.61803396

1.618034

1.61803399]]

斐波那契比(前20位)之和如下:

32.660260798641644

[finished in

1.6s]

斐波那契數 python

def f x if x 0or x 1 return 1else return f x 1 f x 2 cal time 裝飾器 確定執行時間 deffib n return f n print fib 30 給遞迴函式加裝飾器,會出現重複列印 重新定義乙個函式,呼叫,這樣就不會重複列印fib r...

斐波那契數列 斐波那契數列python實現

斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...

斐波那契數

入門訓練 fibonacci數列 時間限制 1.0s 記憶體限制 256.0mb 問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,...