Wenn du am Algorithmus nichts ändern darfst, wird es schwierig werden...
Aber trotzdem hier der Code mit ein paar Boostern:
Delphi-Quellcode:
For D := 7 To max_Prim do begin // 6 ist keine Primzahl, daher ab 7
if not Odd(D) then Continue; // schließe alle geraden Zahlen aus
maxTest := Trunc(Sqrt(D)); // prüfe nur bis max. Quadratwurzel des Kandidaten
flg_NoPrim := false;
for I := 2 to anz_Prim do begin // gerade Zahlen hatten wir ausgeschlossen, daher ab 2
test := Prim[I];
if test > maxTest then Break;
flg_NoPrim := ((D mod test) = 0);
if flg_NoPrim then Break;
end;
if flg_NoPrim then Continue;
Inc(anz_Prim);
Prim[anz_Prim] := D;
end;