什麼?
找規律找的不錯!!!其實我想說的是:斐波拉契數列!
斐波那契數列/兔子數列.jpg
自從學python,我已經拋棄了計算器。why?因為python比計算器來的快啊!今天要說的斐波那契數列也是,python生成遠比書寫加計算來的快!如果你也想擁有這項牛(zhuang)逼(bi)技能,趕快和我一起學python吧!
python實現斐波那契數列方法一之遞迴:
遞迴(recursion):程式呼叫自身的程式設計技巧。遞迴滿足2個條件:
def fab(x):
if x==1:
return 1
elif x==2:
return 1
elif x>2:
result=int(fab(x-1))+int(fab(x-2))————這裡的整型轉化似乎有點多餘!
return result
elif x<0:
print ("輸入有誤,請重新輸入!")
number=int(input("請輸入斐波拉契數列的項數:"))
result=fab(number)
print("第 %d項斐波拉契數列為:%d"%(number,result))
python實現斐波那契數列方法二之迭代:
相比於方法一,方法二實現的速度更快哦!
def fab(n):
n1=1
n2=1
n3=2
if n<1:
print("輸入有誤,請重新輸入!")
return -1
while (n-2)>0:
n3=n2+n1————是不是似曾相識呢?排序問題的方法類似哦!
n1=n2
n2=n3
n-=1
return n3
number=int(input("請輸入斐波拉契數列的項數:"))
result=fab(number)
if result != -1:
print ("第 %d項斐波拉契數列為:%d" % (number,result))
- end -
我是傳送門
外行學python( 一 猜數字 )
外行學python( 二 *** )
外行學python( 三 列表 )
外行學python( 四 兔子繁殖問題 )
斐波那契數列 斐波那契數列python實現
斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...
python實現斐波那契數列
方法二 構造遞迴函式def recur fibo n 斐波那契數列指的是這樣乙個數列 0,1,1,2,3,5,8,13,特別指出 第0項是0,第1項是第乙個1。從第三項開始,每一項都等於前兩項之和。核心 fibo 0 1 for ii in range 2 times 2 fibo ii 1 加入了...
python實現斐波那契數列
1.遞迴方式 寫法最簡潔,但是效率最低,會出現大量的重複計算,時間複雜度o 1.618 n 而且最深度1000 def fib sequence num if num 1or num 2 return 1else return fib sequence num 2 fib sequence num ...