Fibonacci數列的兩種實現方式

斐波那契數列的形式爲:1,1,2,3,5,8,13,21......從第三項開始,後面的每一項都是前面兩項的和。spa

實現的方式有一下 兩種:code

一:遞歸方式實現blog

def fib(n):
    if n <1:
        print('數值錯誤!')
        return -1
    if n ==1 or n ==2:
        return 1
    return fib(n-1) + fib(n-2)
f = fib(10)
print(f)

固然這種方式的輸出爲55,是直接計算出某一項的數值的。遞歸

二:簡單的賦值語句邏輯實現class

def fib(max):
    n,a,b = 0,0,1
    while n < max:
        print(b)
        a,b = b,a+b
        n += 1
fib(10)

這種方式輸出爲:1,1,2,3,5,8,13,21,34,55。能夠看到中間值,固然也能夠在while結束後只返回最終值。di

相關文章
相關標籤/搜索