Algorithm 求级数的第n项

Algorithm 求级数的第n项,algorithm,math,Algorithm,Math,在解决问题时,我遇到了以下顺序: 3, 9, 21, 46, 94, 185, 353... 我们必须找到序列的第n项 Answer should have complexity of O(1). 这是解决这类问题的元算法。首先,在OEIS上查找序列: 查看公式部分并找到 a(n) = n*F(n+2)-F(n+3)+2, 其中F是斐波那契函数。在O(logn)算术运算中使用a来计算此公式 O(1)在合理的机器模型中是不可行的。因为每个斐波那契数都可以表示为n的两次幂和的倍数,这可以在

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

 3, 9, 21, 46, 94, 185, 353...
我们必须找到序列的第n项

Answer should have complexity of O(1).

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

查看公式部分并找到

a(n) = n*F(n+2)-F(n+3)+2,
其中
F
是斐波那契函数。在O(logn)算术运算中使用a来计算此公式


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

因为每个斐波那契数都可以表示为
n
的两次幂和的倍数,这可以在O(1)中完成,至少如果您认为
x**y
(或
x^y
)的运算是O(1)。如果你用
exp()
log()
来表示,它基本上是O(1)。