Python兩種方法計算斐波那契數列

2021-10-10 09:28:25 字數 733 閱讀 8151

迭代(非遞迴)

def

fab(n)

: n1 =

1 n2 =

1 n3 =

1#預設初始值為1

if n <1:

print

("輸入有誤!"

)return-1

while

(n-2

)>0:

n3 = n2 + n1

n1 = n2

n2 = n3

n -=

1return n3

result = fab(20)

#以20作為測試

if result !=-1

print

("總共有%d對小兔崽子誕生!"

% result)

遞迴
def

fab(n)

:if n <1:

print

("輸入有誤!"

)return-1

if n ==

1or n ==

2return

1else

:return fab(n-1)

+ fab(n-2)

result = fab(20)

# 以20作為測試

if result !=-1

print

("總共有%d對小兔崽子誕生!"

% result)

JAVA 遞迴和迭代兩種方法計算斐波那契數列

本來這個數列在很早之前就用遞迴做過一次,當時求的項都比較小,感覺不出來什麼差別。今天,老師講到資料結構和演算法,布置了一道作業,求斐波那契數列的第60項,要求是在10分鐘內計算出結果。興致勃勃的拿出之前寫的 為了計算程式耗時,加上了計算執行時間的 一跑,傻眼了,等了半天也沒見出結果,後來索性不管去做...

Python計算斐波那契數列

華電北風吹 天津大學認知計算與應用重點實驗室 日期 2015 5 利用python計算第乙個達到一百萬位數的斐波那契數列各位數之和 結果為4501552 以下是我用到的 不是中間需要一些人工操作來加快收斂性,有興趣讀者可以寫 加快收斂 首先執行這個,可以大致確定一百萬個數所在斐波那契序列的位置 i ...

python計算斐波那契數列

斐波那契數列就是 分割數列 第一項加第二項等於第三項,以此類推 第二項加第三項等於第四項 如下 這一段 實現fib n 函式返回第n項,printfn m,n,i 函式實現輸出第i項斐波那契數列,輸出在m到n之間的斐波那契數的數量 def fib n x 0 x1 1 x2 1 i 2 while ...