Cod sursa(job #209274)
| Utilizator | Data | 21 septembrie 2008 18:24:28 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 30 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
program pascal;
var f,g:text;
i,d,n,nr:longint;
v:array[2..20000000] of longint;
begin
assign(f,'ciur.in'); reset(f);
assign(g,'ciur.out'); rewrite(g);
read(f,n);
for i:=2 to n do v[i]:=i;
for d:=3 to trunc(sqrt(n)) do
if v[d]<>0 then
begin
i:=d;
while i+d<=n do
begin
v[i+d]:=0;
i:=i+d;
end;
end;
nr:=1;
i:=3;
WHILE i<=n do
begin
if v[i]<>0 then nr:=nr+1;
i:=i+2;
end;
write(g,nr);
close(f);
close(g);
end.
