第一種、函式求裴波那契數列:
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個裴波那契數列的數
第二種、用類求裴波那契數列:
class fib(): # 先定義乙個類
def __init__(self): # 初始化
pass
def __call__(self,month): 定義乙個月份的函式
a,b=0,1 假設a,b的值為0和1
n=1 # 初始值
while n<=month: # 迴圈的控制條件
a,b=b,a+b # 演算法
n+=1 # 步長值為1
return a # 返回a
f=fib()
for i in range(1,12): # 範圍是1到12
print(f(i),end=",")
print() # 輸出裴波那契數列
第二種方法還不太熟練 斐波那契數列 斐波那契數列python實現
斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...
Python演算法 斐波那契數列
典型的遞迴演算法 快速排序會用到 先做個鋪墊 斐波那契數列即著名的兔子數列 1 1 2 3 5 8 13 21 34 數列特點 該數列從第三項開始,每個數的值為其前兩個數之和,用python實現起來很簡單 定義fibonacci數列如下 非遞迴方法的函式實現 def fibs num result ...
python斐波那契數列演算法
推理過程 公司筆試面試型別題 斐波那契數列 第乙個月 1 小兔子 1 第二個月 1 小兔子 1 第三個月 1 對大兔子 1 對小兔子 本月生 1 1 2 第四個月 1 對大兔子 1 對小兔子 本月生 1 對小兔子 上月生 1 1 1 3 第五個月 2 對大兔子 2 對小兔子 本月生 1 對小兔子 上...