Cod sursa(job #165711)

Utilizator kolapsysPostelnicu Dan Marian kolapsys Data 26 martie 2008 17:37:15
Problema Ciurul lui Eratosthenes Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.79 kb
var v:array[1..2000000] of byte;
    n,i,j,k:longint;
    f,g:text;
begin
     assign(f,'ciur.in'); reset(f);
     assign(g,'ciur.out'); rewrite(g);
     readln(f,n);
     v[1]:=1;
     k:=0;
     if n=2 then k:=1
            else begin
                 i:=2;
                 while i<= trunc(sqrt(n)) do
                       begin
                       j:=sqr(i);
                       while j<=n do
                             begin
                             v[j]:=1;
                             j:=j+i;
                             end;
                       if i=2 then i:=3
                              else i:=i+2;
                       end;
                 for i:=1 to n do if v[i]=0 then k:=k+1;
                 end;
     write(g,k);
     close(f); close(g);
end.