Tribonacci series

Tribonacci series

本文关键字:series Tribonacci      更新时间:2023-10-16

可能重复:
递归关系

如何找到tribonaci级数中的第n个数?我需要和算法足够快的n到10^15。

Tribonacci数被定义为a(n)=a(n-1)+a(n-2)+a。

对于任何具有线性递归的序列,矩阵求幂算法都有效。

例如,如果序列具有复发

a[k] = x*a[k-1] + y*a[k-2] + z*a[k-3]

对于k >= 3和初始值a[0], a[1], a[2],您可以通过乘以来获得三重(a[n+2], a[n+1], a[n])

|x y z|^n  |a[2]|
|1 0 0|  * |a[1]|
|0 1 0|    |a[0]|

通过在O(log n)步骤中重复平方,可以使用幂运算将矩阵提高到第n次次方。