Cod sursa(job #303548)

Utilizator cristinabCristina Brinza cristinab Data 9 aprilie 2009 23:08:52
Problema Ciurul lui Eratosthenes Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.63 kb
var n,nr:longint;
    prim:array[1..2000000000] of boolean;

procedure citire;
var f:text;
begin
assign(f,'ciur.in'); reset(f);
readln(f,n);
close(f);
end;

procedure ciur;
var i,j:longint;
begin

fillchar(prim,sizeof(prim),true);

for i:=2 to trunc(sqrt(n)) do
    begin
    j:=2;
    while i*j<=n do
          begin
          prim[i*j]:=false;
          inc(j);
          end;
    end;
end;

procedure rezolvare;
var g:text;
    i:longint;
begin
assign(g,'ciur.out'); rewrite(g);
nr:=0;
for i:=2 to n do
    if prim[i] then inc(nr);

writeln(g,nr);
close(g);
end;

begin
citire;
ciur;
rezolvare;
end.