典型的遞迴演算法~~~~快速排序會用到~先做個鋪墊
斐波那契數列即著名的兔子數列: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 對小兔子 上...