我正在尝试打印 Fibonacci sequence Benet's formula,但是我的值不正确。我在这里错过了什么吗?
import math
def F(n):
return ((1+math.sqrt(5))**n-(1-math.sqrt(5))**n)/(2**n*math.sqrt(5))
for x in range(0, 100):
print(F(x))
我得到的结果是:
0.0 1.0 1.0 2.0 3.0000000000000004 5.000000000000001 8.000000000000002 --- 这里开始出错 13.000000000000002 21.000000000000004 ...
它一定与精度有关。然而,使用cmath
而math
不是似乎也没有帮助。
任何帮助,将不胜感激。