var prime : array of Boolean; i,j : Integer; n : Integer;begin n := 100000; SetLength(prime, n + 1);
i := 1; while (i <= n) do begin prime[i] := true; i := i + 2; end;
i := 3; while ( i <= Sqrt(n)) do begin if (prime[i]) then begin j := i + i; while (j <= n) do begin prime[j] := False; j := j + i; end; end; i := i + 2; end;
Memo1.Lines.BeginUpdate; for i := 1 to n do begin if prime[i] then begin memo1.Lines.Add( IntToStr(i)); end; end; Memo1.Lines.EndUpdate;
i := 1; while (i <= n) do begin prime[i] := true; i := i + 2; end;
i := 3; while ( i <= Sqrt(n)) do begin if (prime[i]) then begin j := i + i; while (j <= n) do begin prime[j] := False; j := j + i; end; end; i := i + 2; end;
Memo1.Lines.BeginUpdate; for i := 1 to n do begin if prime[i] then begin memo1.Lines.Add( IntToStr(i)); end; end; Memo1.Lines.EndUpdate;