劍指 offer_第七題_斐波那契數列
阿新 • • 發佈:2018-11-15
平臺
牛客網
語言
python2.7.3
作業內容
題目描述
大家都知道斐波那契數列,現在要求輸入一個整數 n, 請你輸出斐波那契數列的第 n 項(從 0 開始,第 0 項為 0)。 n<=39
題目理解
什麼是斐波那契數列?
斐波那契數列(Fibonacci Sequence)又稱黃金分割數列。
該數列指的是這樣的一列數字:0、1、1、2、3、5、8、13、21、34、55、89、144、233、377、610、987、1597、2584、4181、6765、10946、17711、28657、46368…
特別指出:第 0 項是 0,第 1 項是第一個 1。此數列從第 2 項開始,每一項都等於前兩項之和。
在數學上,斐波納契數列被以遞迴的方法定義:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N)*
解題思路
第 0 項是 0,第 1 項是 1。此數列從第 2 項開始,每一項都等於前兩項之和。
程式
class Solution: def Fibonacci(self, n): if n<=0: return 0 if n==1: return 1 else: a,b=0,1 for i in range(n-1): a,b=b,a+b return b
補充知識點
a,b=b,a+b 相當於:
temp=b #先儲存b的原值
b=a+b #賦b新值
a=temp #將b的原值賦予a