pascalabcnet/InstallerSamples/Algorithms/Eratosthenes.pas

25 lines
482 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;
Println('Простые числа <',n,':');
Println(primes);
Println;
Println('Время вычисления:',Milliseconds/1000);
2015-05-14 22:35:07 +03:00
end.