Cod sursa(job #1670135)

Utilizator robertadRoxana Rodile robertad Data 31 martie 2016 14:43:59
Problema Ciurul lui Eratosthenes Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.76 kb
Program  Ciurul_lui_Eratostene;              (* Numerele prime < n *)
Var      Ciur, Prime, Mp :set of 2..100;
         p, n : integer;
         m  : longint;
Begin
     Write (' Dati n : ');  Readln (n);
     Ciur:=[2..n];  Prime:=[]; p:=2;
     Repeat
       If p In Ciur Then Begin
          Prime:=Prime+[p];                  (* Prime:=Prime U {p} *)
          Mp:=[];   m:=p;
          Repeat
            Mp:=Mp+[m];  m:=m+p
          Until m>n;
          Ciur :=Ciur - Mp                   (* Ciur := Ciur \ Mp  *)
       End; {If}
       p:=p+1
     Until Ciur=[];
     Write(' Prime = {');                    (* Tipar. mult. Prime *)
     For p:=1 To 1000 Do
         If p In Prime Then Write (p,',');
     Write (Chr(8)+'}');
     Readln
End.