Umístnení souboru 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.

Copyrigth by Zdeno Sekerak 2007, http://www.trsek.com