快速加倍法的推广

时间:2017-01-19 09:52:22

标签: math

N序列中的

F(N) = F(N-1) + F(N-2) + F(N-1)×F(N-2) 

mod任何大的没有。我们可以说10^9+7 .. F(0)=aF(1)=b

我正在尝试快速加倍方法,但我无法获得矩阵。如何有效地计算除了明显的O(n)算法

1 个答案:

答案 0 :(得分:0)

考虑G[n]=log(1+F[n])查找

G[n] = G[n-1] + G[n-2]

这是具有通用解决方案的Fibonacci递归

G[n] = Fib[n-1]*G[0] + Fib[n]*G[1]

转换为

1+F[n] = (1+F[0])^Fib[n-1] * (1+F[1])^Fib[n]

其中Fib是斐波那契序列,其索引1,0,1的值为n=-1,0,1

现在应用Fibonacci序列的常用技术。