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

16 lines
300 B
Text

LET digits = 500
LET an = 1.0
LET bn = SQR(0.5)
LET tn = 0.5 ^ 2
LET pn = 1.0
DO WHILE pn <= digits
LET prevAn = an
LET an = (bn + an) / 2
LET bn = SQR(bn * prevAn)
LET prevAn = prevAn - an
LET tn = tn - (pn * prevAn ^ 2)
LET pn = pn + pn
LOOP
PRINT ((an + bn) ^ 2) / (tn * 4)
END