""" 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) a3 = decimal.Decimal(3) a4 = decimal.Decimal(4) a6 = decimal.Decimal(6) a9 = decimal.Decimal(9) a32 = decimal.Decimal(32) a73 = decimal.Decimal(73) a2943 = decimal.Decimal(2943) m1 = decimal.Decimal(-1) x1 = a1/a9 x2 = a1/a32 x3 = a1/a73 x4 = a1/a2943 # 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 + a3*t2 + a2*t3 + t4 print(4*p) print(((complex(9, 1)/complex(9, -1))**6)* ((complex(32, 1)/complex(32, -1))**3) * ((complex(73, 1)/complex(73, -1))**2) * ((complex(2943, 1)/complex(2943, -1))))