피보나치 시퀀스 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 --- start's going wrong here 13.000000000000002 21.000000000000004 ...
그것은 정밀 함께 할 수있는 뭔가가 있어야합니다. 그러나 math
대신 cmath
을 사용하면 도움이되지 않습니다.
도움을 주시면 감사하겠습니다.
당신은 [진] (https://docs.python.org/3.4/library/decimal.html) 모듈을 사용할 수 있습니다. – TidB
또한 [this] (https://docs.python.org/2/tutorial/floatingpoint.html#representation-error)를 읽으십시오. – tyteen4a03