pascalabcnet/InstallerSamples/Algorithms/Eratosthenes.pas
2020-07-26 13:07:35 +03:00

25 lines
484 B
ObjectPascal

// "Решето Эратосфена" - вычисление простых чисел
const n = 100000;
begin
var primes := HSet(2..n);
for var i:=2 to Round(Sqrt(n)) do
begin
if not (i in primes) then
continue;
var x := i*i;
while x<=n do
begin
primes -= x;
x += i;
end;
end;
Writeln('Простые числа < ',n,':');
Writeln(primes);
Writeln;
Writeln('Время вычисления: ',Milliseconds/1000);
end.