Cod sursa(job #587039)

Utilizator ovidiu95Decean Ovidiu Ciprian ovidiu95 Data 3 mai 2011 20:00:49
Problema Ciurul lui Eratosthenes Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.67 kb
var     f,g:text;
        i,p,p1,n,c,k:longint;
        v:array[1..1000000] of boolean;
begin
        assign(f,'ciur.in');
        assign(g,'ciur.out');
        reset(f);
        rewrite(g);
        read(f,n);
        c:=trunc(sqrt(n));
        p:=3;
        while p<=c do begin
                p1:=p;
                while p1<n do begin
                        p1:=p1+(2*p);
                        v[p1 div 2]:=true;
                end;
                inc(p);
                if v[p]=true then inc(p);
        end;
        k:=1;
        for i:=1 to (n div 2+ n mod 2)-1 do
                if v[i]=false then inc(k);
        write(g,k);
        close(g);
end.