可以使用以下递归在线性时间中计算第个斐波那契数:
def fib(n):
i, j = 1, 1
for k in {1...n-1}:
i, j = j, i+j
return i
第个斐波那契数也可以计算为。但是,这对于甚至较小的都有舍入问题。可能有一些解决方法,但我宁愿不这样做。[ φ Ñ / √n
是否有一种有效的算法(值为或更好的对数)来计算不依赖浮点算术的第个斐波那契数?假定整数运算(,,,)可在恒定的时间来执行。n + - × /
5
作为建议,维基百科上有关斐波那契数的文章有很多方法。
—
化名
cf. stackoverflow.com/questions/14661633/…以及其中和周围的链接。
—
尼斯