Mit folgender Funktion müsste man Primzahlen ausrechnen können. Die Funktion gibt für jede übergebene Zahl (>2) True zurück, wenn es eine Primzahl ist, sonst False.
Delphi-Quellcode:
function IstPrim(n: Cardinal): Boolean;
var i,grenze: Integer;
begin
Result:= True;
if (n mod 2)=0 then
begin
Result:= False;
Exit;
end;
i:= 3;
grenze:= Trunc(sqrt(n)) +1;
while ((i<=grenze) and Result) do
begin
Result:= (((n mod i)<>0) and (i<>n));
i:= i+2;
end;
end;
Ich habe die Funktion noch nicht getestet, aber sie müsste funktionieren. Evtl. kann man das dann noch etwas optimieren.
Hinweis: Der Parameter n muss größer als zwei sein, damit die Funktion funktioniert.