Umiestnenie súboru www.TrSek.com/zadania/eratostenovo_sito.pas{ ERATOSTENOVO_SITO.PAS Copyright (c) Pheo }
{ Program na vypis prvocisel z intervalu medzi 1 a n. }
{ Napise prve prvocislo 2 a vyciarkne jeho vsetky nasobky vypise }
{ prve nevyciarknute a vyciarkne jeho nasobky podobne postupuje }
{ dalej, co ostane su prvocisla. Pouzije eratostenovo sito. }
{ }
{ Datum:17.05.2000 http://www.trsek.com }
program eratostenovo_sito; {napise prve prvocislo 2 a vyciarkne jeho vsetky nasobky}
uses crt; {vypise prve nevyciarknute a vyciarkne jeho nasobky}
const max=500; {podobne postupuje dalej, co ostane su prvocisla}
VAR N,I,J,P:word;
a:array [2..max] of word;
begin
clrscr;
gotoxy(5,5);
writeln('zvol hornu hranicu intervalu (1,n>');
gotoxy(5,7);
readln(n);
gotoxy(5,10);
for i:=2 to n do a[i]:=i;
p:=2;
while p<= sqrt(n) do
begin
for i:=p+1 to n do
if a[i] mod p = 0 then a[i]:=0;
repeat p:=p+1 until p<>0; {dalsie nenulove cislo}
end;
write ('Prvocisla: ');
for i:=2 to n do if a[i]<>0 then write(a[i],',');
repeat until keypressed;
end.