0
這是我的代碼:罪與泰勒級數蟒蛇
import math
x=float((input ('x ? ')))
n = 1000 #a big number
b=0
for i in range (n):
a=(((((-1)**i))*(x**((2*i)+1)))/(math.factorial((2*i)+1)))
b+=a
print (b)
,但它不能正常工作,並顯示此錯誤:
"OverflowError: long int too large to convert to float"
什麼這個問題? 'math.factorial(1999)'*太大而無法轉換爲浮點數。大約10^5733。 'float'的最大值是'sys.float_info.max',我將在你的系統上下注10^308。 –
你可以使用遞歸計算'a's:'a [i] = -a [i-1] x ** 2/2i /(2i + 1)' –
@SteveJessop for ex amaple當我想計算罪30 我的輸入是0.523。 但它顯示「OverflowError:long int太大,無法轉換爲float」 – Hippo