""" Berechnung von pi über arctan(x) (c) Jürgen Meier www.3d-meier.de 26.06.2024 """ import math import decimal # Anzahl Kommastellen decimal.getcontext().prec = 105 a1 = decimal.Decimal(1) a2 = decimal.Decimal(2) a4 = decimal.Decimal(4) a6 = decimal.Decimal(6) a13 = decimal.Decimal(13) a21 = decimal.Decimal(21) a57 = decimal.Decimal(57) a239 = decimal.Decimal(239) m1 = decimal.Decimal(-1) x1 = a1/a13 x2 = a1/a21 x3 = a1/a57 x4 = a1/a239 # Reihenentwicklung für arctan(x) k = 300 t1 = 0 for n in range(0, k + 1): a = (((m1)**n)*(x1**(a2*n + a1)))/(a2*n + a1) t1 = t1 + a t2 = 0 for n in range(0, k + 1): a = (((m1)**n)*(x2**(a2*n + a1)))/(a2*n + a1) t2 = t2 + a t3 = 0 for n in range(0, k + 1): a = (((m1)**n)*(x3**(a2*n + a1)))/(a2*n + a1) t3 = t3 + a t4 = 0 for n in range(0, k + 1): a = (((m1)**n)*(x4**(a2*n + a1)))/(a2*n + a1) t4 = t4 + a p = a6*t1 + a6*t2 + a2*t3 + t4 print(4*p) print(((complex(13, 1)/complex(13, -1))**6)* ((complex(21, 1)/complex(21, -1))**6) * ((complex(57, 1)/complex(57, -1))**2) * ((complex(239, 1)/complex(239, -1))))