RosettaCodeData/Task/Lucas-Lehmer-test/Pascal/lucas-lehmer-test.pascal
Ingy döt Net d066446780 langs a-z
2013-04-10 22:43:41 -07:00

19 lines
405 B
Text

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.