我正在使用比奈公式来计算大n的斐波那契数列
比奈公式:
我的代码:
#!/usr/bin/env python3
def calc_fib(n):
if (n <= 1):
return n
root_5 = 5 ** 0.5
phi_n = ((root_5 + 1) / 2) ** n
alpha_n = ((root_5 - 1) / 2) ** n
fn = round((phi_n - alpha_n) / root_5)
return fn
n = int(input())
print(calc_fib(n))
$ ./fibonacci.py 200 280571172992512015699912586503521287798784.(错误)
正确的结果是:280571172992510140037611932413038677189525
问题是,对于非常大的n,比如说n = 200,结果不准确,我认为由于浮点计算,我该如何更改我的代码,以便我可以获得更准确的结果?
素胚勾勒不出你
吃鸡游戏
相关分类