Exemplul urmtor i propune rezolvarea urmtoarei probleme : S se determine
numerele prime mai mici sau egale cu un numar dat n.
Pentru c vom utiliza tipul multime (Set), n va fi cel mult 255. Vom rezolva aceast problem n felul urmator : a) iniial Ciur={2,...,n}, Prime={ }; b) cel mai mic element din Ciur va fi mutat n mulimea Prime, iar din Ciur se elimin toi multiplii acestuia; c) se repet b) pn cnd Ciur-ul devine vid; d) mulimea Prime va conine rezultatul care se poate tipri. Program Var
Ciurul_lui_Eratostene; Ciur, Prime, Mp : Set Of 2..255; p, n : Byte; m : Integer;
(* Numerele prime < n *)
Begin
End.
Write (' Dati n : '); Readln (n);
Ciur:=[2..n]; Prime:=[]; p:=2; Repeat If p In Ciur Then Begin Prime:=Prime+[p]; Mp:=[]; m:=p; Repeat Mp:=Mp+[m]; m:=m+p Until m>n; Ciur :=Ciur - Mp End; {If} p:=p+1 Until Ciur=[]; Write(' Prime = {'); For p:=1 To 255 Do If p In Prime Then Write (p,','); Write (Chr(8)+'}'); Readln