1,1,2,3,5,8,13,21.。。。。。。。
通式:F(N)=F(N-1)+F(N-2)
f(F(N),F(N-1))=f(F(N-1),F(N-2))*[{a,b},{c,d}]
矩阵:A=[{a,b},{c,d}]
==>>a=1,b=1,c=1,d=0
根据递推公式,可以最终求出::F(N)=(X)*A^m
X为F(x)是一个可以算到的数。m是相对应的指数。
//为了实现时间复杂度最低
1、对m进行处理。进行2进制编码。假设是:110011
.则结果是:A*A^2*A^16*A^32=A(A+1)*(A^16+1)*A^16=M(M+1)N(N+1)
2、对矩阵进行处理(有些矩阵可以,有些不行),利用矩阵的变换来降低运算量。
由斐波那列数引发的思考
最新推荐文章于 2021-11-03 06:00:00 发布