RosettaCodeData/Task/Nth-root/Perl/nth-root-1.pl
2023-07-01 13:44:08 -04:00

14 lines
231 B
Perl

use strict;
sub nthroot ($$)
{
my ( $n, $A ) = @_;
my $x0 = $A / $n;
my $m = $n - 1.0;
while(1) {
my $x1 = ($m * $x0 + $A / ($x0 ** $m)) / $n;
return $x1 if abs($x1 - $x0) < abs($x0 * 1e-9);
$x0 = $x1;
}
}