Cod sursa(job #587033)

Utilizator ovidiu95Decean Ovidiu Ciprian ovidiu95 Data 3 mai 2011 19:55:22
Problema Ciurul lui Eratosthenes Scor 90
Compilator fpc Status done
Runda Arhiva educationala Marime 0.69 kb
var     f,g:text;
        i,p,p1,n,c,k:longint;
        v:array[1..2000000] 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]:=true;
                end;
                inc(p);
                while (p mod 2=0) and (v[p]=true) do inc(p);
        end;
        k:=1;
        for i:=1 to (n div 2+ n mod 2)-1 do
                if v[2*i+1]=false then inc(k);
        write(g,k);
        close(g);
end.