Program P87;
 { Ciurul (sita) lui Eratostene }
const n=50;
type MultimeDeNumere=set of 1..n;
var Sita, NumerePrime : MultimeDeNumere;
                 i, m : integer;
begin
{1} Sita:=[2..n];
    NumerePrime:=[];
    i:=2;
    repeat
{2}    while not (i in Sita) do i:=succ(i);
{3}    NumerePrime:=NumerePrime+[i];
       write(i:4);
       m:=i;
{4}    while m<=n do begin Sita:=Sita-[m]; m:=m+i; end;
{5} until Sita=[];
    writeln;
    readln;
end.
