斐波那契数列
大约 1 分钟
{1,1,2,3,⋯}
n∈N,m∈N
⎩⎨⎧a0=1a1=1an+2=an+1+an
矩阵法可以很高效地计算指定项,也可以很方便地拓展,计算连续的几个项。
[an, an+1][0111]m=[an+m, an+1+m]
an+3=2an+2+3an+1+an+5[1anan+1an+2]1000001000015132m=[1an+man+1+man+2+m]
n∈N,时间复杂度O(log(n))
an=51(21+5)n+1−(21−5)n+1
在计算机计算中,通项公式涉及浮点数的指数运算,误差较大,故多采用如下方的矩阵法:
[a0, a1][0111]m=[am, am+1]
其中[a0, a1]=[1, 1],m≥2(推荐),转换为对矩阵的平方运算,可以用快速指数法计算,时间复杂度O(log(n))。