Python斐波那契數列演算法

2021-09-25 17:30:18 字數 651 閱讀 3890

第一種、函式求裴波那契數列:

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 對小兔子 上...