我必须找到斐波那契数列 2*10^6 以内的所有斐波那契数的前 k 位数字。
显然,我们不能将斐波那契数列的值存储在任何变量中。即使计算所有斐波那契数本身也需要大量的计算时间。那么,有没有办法只得到斐波那契数的前k位而不生成整个数呢?
由于您只需要前导数字,因此斐波那契数的近似值就足够了。因此,您可以使用封闭式公式n第一个斐波那契数列,即
Fn = (φn − (−φ)−n) / √5,
where φ = (1 + √5) / 2 ≈ 1.6180339887
...然后舍入到所需的精度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)