pascalabcnet/InstallerSamples/Algorithms/Eratosthenes.pas

25 lines
484 B
ObjectPascal
Raw Permalink Normal View History

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