原理:
import numpy as np
class Fibo():
def __init__(self):
self.T = np.array([[1],[0]])
self.A = np.array([[1,1],[1,0]])
def compute(self,num):
if num ==1:
return self.T.flatten()[1]
elif num ==2:
return self.T.flatten()[0]
else:
result = np.eye(2)
while num - 2 >0:
num-=1
result = np.dot(result,self.A)
return np.dot(result,self.T).flatten()[0]