程式設計題:斐波那契數列
阿新 • • 發佈:2018-10-31
斐波納契數列以遞迴的方法定義: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))