Python演算法 斐波那契數列

2021-08-20 21:28:52 字數 764 閱讀 8269

典型的遞迴演算法~~~~快速排序會用到~先做個鋪墊

斐波那契數列即著名的兔子數列:1、1、2、3、5、8、13、21、34、……

數列特點:該數列從第三項開始,每個數的值為其前兩個數之和,用python實現起來很簡單:

定義fibonacci數列如下:

非遞迴方法的函式實現:

def fibs(num):

result=[0,1]

for i in range(num-2):

return result

print fibs(10)

遞迴方法的函式實現:

# -*- coding: utf-8 -*- #

def recur_fibo(n):

if n <= 1:

return n

else:

return (recur_fibo(n-1) + recur_fibo(n-2))

# 獲取使用者輸入

nterms = int(raw_input("您要輸出幾項斐波那契數列? ".decode('utf-8').encode('gbk')))

# 檢查輸入的數字是否正確

if nterms <= 0:

print u"輸入正數"

else:

print u"斐波那契數列:"

for i in range(nterms):

print recur_fibo(i)

斐波那契數列 斐波那契數列python實現

斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...

Python斐波那契數列演算法

第一種 函式求裴波那契數列 def func num if n 1 or n 2 如果n等於1或者2 return 1 返回1 else 否則 return func n 1 func n 2 返回函式n 1加上函式n 2的值 print func 12 輸出第12個裴波那契數列的數第二種 用類求裴...

python斐波那契數列演算法

推理過程 公司筆試面試型別題 斐波那契數列 第乙個月 1 小兔子 1 第二個月 1 小兔子 1 第三個月 1 對大兔子 1 對小兔子 本月生 1 1 2 第四個月 1 對大兔子 1 對小兔子 本月生 1 對小兔子 上月生 1 1 1 3 第五個月 2 對大兔子 2 對小兔子 本月生 1 對小兔子 上...