RosettaCodeData/Task/Arithmetic-geometric-mean/Run-BASIC/arithmetic-geometric-mean.b...

14 lines
269 B
Plaintext

print agm(1, 1/sqr(2))
print agm(1,1/2^.5)
print using("#.############################",agm(1, 1/sqr(2)))
function agm(agm,g)
while agm
an = (agm + g)/2
gn = sqr(agm*g)
if abs(agm-g) <= abs(an-gn) then exit while
agm = an
g = gn
wend
end function