找到第N个系列

时间:2017-04-30 12:34:02

标签: algorithm math

在解决问题时,我遇到了以下序列:

 3, 9, 21, 46, 94, 185, 353...

我们必须找到序列的第n个术语。

Answer should have complexity of O(1).

1 个答案:

答案 0 :(得分:0)

这是这类问题的元算法。首先,在OEIS上查找序列:

http://oeis.org/search?q=3%2C+9%2C+21%2C+46%2C+94%2C+185%2C+353&language=english&go=Search

查看公式部分并找到

a(n) = n*F(n+2)-F(n+3)+2,

其中F是斐波那契函数。使用fast Fibonacci implementation在O(log n)算术运算中评估此公式。

O(1)在敏感机器模型中是不可行的。