RosettaCodeData/Task/Arithmetic-geometric-mean/PascalABC.NET/arithmetic-geometric-mean.pas
2024-10-16 18:07:41 -07:00

12 lines
246 B
ObjectPascal

function agm(a,g: real; eps: real := 1e-10): real;
begin
var an := (a + g) / 2;
var gn := Sqrt(a * g);
while Abs(an - gn) > eps do
(an,gn) := ((an + gn) / 2, Sqrt(an * gn));
Result := an;
end;
begin
Print(agm(1, 1 / Sqrt(2)))
end.