import math
def gaussian_integral_taylor(a, b, eps=1e-12, max_terms=200):
"""Вычисляет ∫_a^b exp(-x^2) dx разложением в ряд Тейлора."""
if a > b:
return -gaussian_integral_taylor(b, a, eps, max_terms)
total = 0.0
c = 1.0 # коэффициент C0 = 1/(0! * (2*0+1)) = 1
b_pow = b # b^(2*0+1) = b^1
a_pow = a # a^(2*0+1) = a^1
n = 0
while n < max_terms:
term = c * (b_pow - a_pow)
total += term
if abs(term) < eps:
break
# рекуррентный переход к следующему члену
c = -c * (2 * n + 1) / ((n + 1) * (2 * n + 3))
b_pow *= b * b
a_pow *= a * a
n += 1
return total
if __name__ == "__main__":
a = float(input("Введите нижний предел a: "))
b = float(input("Введите верхний предел b: "))
result = gaussian_integral_taylor(a, b)
print(f"∫_{a}^{b} exp(-x^2) dx ≈ {result:.10f}")