我正在尝试继续我之前的问题,在该问题中我正在尝试使用 Benet 算法计算斐波那契数。为了以任意精度工作,我发现mpmath
. 然而,实现似乎在某个值以上失败。例如第 99 个值给出:
218922995834555891712
这应该是(参考):
218922995834555169026
这是我的代码:
从 mpmath 导入 * 定义披(): 返回 (1 + sqrt(5)) / 2 定义 phi(): 返回 (1 - sqrt(5)) / 2 定义 F(n): 返回 (power(Phi(), n) - power(phi(), n)) / sqrt(5) 开始 = 99 结束 = 100 对于范围内的 x(开始,结束): 打印(x,int(F(x)))