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