1. 程式人生 > >python計算斐波拉契數列

python計算斐波拉契數列

斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:1、1、2、3、5、8、13、21、34、在數學上,斐波納契數列以如下被以遞迴的方法定義。

  1. F0 =0(n=0)

  2. F1 =1(n=1)

  3. Fn= F[n-1]+F[n-2](n=>2

下面的這段程式碼,分別使用了依次計算,遞迴還有求整個數列的方法,程式碼如下
def fib_one(n):
    a,b = 1,1
    for i in range(n-1):
        a,b = b,a+b
    return a
def rec_fib(n):
    if(n==1) or (n==2):
        return 1
    return rec_fib(n-1)+rec_fib(n-2)
def lis_fib(n):
    if n==1:
        return [1]
    if n==2:
        return [2]
    fibs=[1,1]
    for i in range(2,n):
        fibs.append(fibs[-1]+fibs[-2])
    return fibs

print(fib_one(10))
print(rec_fib(10))
print(lis_fib(10))