12 lines
246 B
ObjectPascal
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.
|