Help for this page

Select Code to Download


  1. or download this
    sub modpow { my($b, $p, $m) = @_; my $r = 1; for (;;) { $p & 1 and $r 
    += ($r * $b) % $m; 0 < ($p >>= 1) or last; $b = ($b * $b) % $m; } $r; 
    +} 
    $s = 0; for $n (2..1000) { modpow($_, $n - 1, $n) != 1 and goto G for 
    +2 .. $n - 1; print $n, " appears to be prime ", ++$s, "\n";  G: }
    
  2. or download this
    sub modpow { my($b, $p, $m) = @_; my $r = 1; for (;;) { $p & 1 and $r 
    += ($r * $b) % $m; 0 < ($p >>= 1) or last; $b = ($b * $b) % $m; } $r; 
    +} $s = 0; 
    G: for $n (2..1000) { modpow($_, $n - 1, $n) != 1 and next G for 2 .. 
    +$n - 1; print $n, " is prime number ", ++$s, "\n"; }