17 lines
298 B
Perl
17 lines
298 B
Perl
#!/usr/bin/perl -w
|
|
|
|
my ($a0, $g0, $a1, $g1);
|
|
|
|
sub agm($$) {
|
|
$a0 = shift;
|
|
$g0 = shift;
|
|
do {
|
|
$a1 = ($a0 + $g0)/2;
|
|
$g1 = sqrt($a0 * $g0);
|
|
$a0 = ($a1 + $g1)/2;
|
|
$g0 = sqrt($a1 * $g1);
|
|
} while ($a0 != $a1);
|
|
return $a0;
|
|
}
|
|
|
|
print agm(1, 1/sqrt(2))."\n";
|