Lucas-Lehmer test: Difference between revisions

(→‎{{header|Go}}: library path update)
(→‎{{header|Pascal}}: add example)
Line 735:
)
};</lang>
 
=={{header|Pascal}}==
int64 is good enough up to M31:
<lang pascal>Program LucasLehmer(output);
var
s, n: int64;
i, exponent: integer;
begin
n := 1;
for exponent := 2 to 31 do
begin
if exponent = 2 then
s := 0
else
s := 4;
n := (n + 1)*2 - 1; // This saves from needing the math unit for exponentiation
for i := 1 to exponent-2 do
s := (s*s - 2) mod n;
if s = 0 then
writeln('M', exponent, ' is PRIME!');
end;
end.</lang>
Output:
<pre>:> ./LucasLehmer
M2 is PRIME!
M3 is PRIME!
M5 is PRIME!
M7 is PRIME!
M13 is PRIME!
M17 is PRIME!
M19 is PRIME!
M31 is PRIME!
</pre>
 
=={{header|Perl}}==
Line 786 ⟶ 819:
last if $count >= $upb_count;
}</lang>
 
=={{header|Perl 6}}==
{{trans|Perl 5}}
Anonymous user