//FPC 2.6.4 Program sieve_of_Eratosthenes; var n, i, x:integer; a: array[1..32000] of boolean; begin readln(n); for i:=2 to (n+1) div 2 do begin x:=i*2; while x<=n do begin a[x]:=true; x:=x+i; end; x:=0; end; for i:=1 to n do if not a[i] then write(i,' '); readln; end.
//PascalABC.NET версия 3.2, сборка 1389 //Если программа не запускается, то обновите версию const n = 200;
var primes: array of integer;
begin primes := ArrGen(n, i -> i);
for var i := 2 to round(sqrt(n)) do begin if not (primes.Contains(i)) then continue; var e := SeqWhile(i*i, x -> x + i, x -> x <= n); primes := primes.Except(e).ToArray; end;
writeln('Простые числа < ', n, ':'); writeln(primes); writeln; writeln('Время вычисления: ', Milliseconds / 1000); end.
Program sieve_of_Eratosthenes;
var
n, i, x:integer;
a: array[1..32000] of boolean;
begin
readln(n);
for i:=2 to (n+1) div 2 do
begin
x:=i*2;
while x<=n do
begin
a[x]:=true;
x:=x+i;
end;
x:=0;
end;
for i:=1 to n do if not a[i] then write(i,' ');
readln;
end.
//Если программа не запускается, то обновите версию
const
n = 200;
var
primes: array of integer;
begin
primes := ArrGen(n, i -> i);
for var i := 2 to round(sqrt(n)) do
begin
if not (primes.Contains(i)) then
continue;
var e := SeqWhile(i*i, x -> x + i, x -> x <= n);
primes := primes.Except(e).ToArray;
end;
writeln('Простые числа < ', n, ':');
writeln(primes);
writeln;
writeln('Время вычисления: ', Milliseconds / 1000);
end.