RosettaCodeData/Task/Arithmetic-geometric-mean-Calculate-Pi/Python/arithmetic-geometric-mean-calculate-pi.py
2023-07-01 13:44:08 -04:00

13 lines
262 B
Python

from decimal import *
D = Decimal
getcontext().prec = 100
a = n = D(1)
g, z, half = 1 / D(2).sqrt(), D(0.25), D(0.5)
for i in range(18):
x = [(a + g) * half, (a * g).sqrt()]
var = x[0] - a
z -= var * var * n
n += n
a, g = x
print(a * a / z)