1. 程式人生 > >程式設計題:斐波那契數列

程式設計題:斐波那契數列

斐波納契數列以遞迴的方法定義:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)

這個數列從第2項開始,每一項都等於前兩項之和,而且當n趨向於無窮大時,前一項與後一項的比值越來越逼近黃金分割0.618.
1.使用for迴圈實現

def fib(n): 
    a,b = 0,1  
    for i in range(n):  
        a,b =b,a+b  
    return a

f = fib(6)
print(f)

2.使用迭代

def fib(n): 
    if n == 0:
        return 0
elif n == 1: return 1 else: return fib(n-2)+fib(n-1) f = fib(6) print(f)

3.生成一個指定長度的數列

def fibs(x):  
    result = [0, 1]  
    for index in range(x-2):  
        result.append(result[-2]+result[-1])  
    return result  

num = input('Enter one number: ') 
n = int(num) 
print(fibs(n))