Cod sursa(job #276404)
| Utilizator | Data | 11 martie 2009 09:58:20 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
var f,g:text;
p:array[1..2000000] of boolean;
nr,i,j,n:longint;
BEGIN
assign(f,'ciur.in');
reset(f);
readln(n);
for i:=2 to n div 2 do p[i*2]:=true;
i:=3;
nr:=1;
while i*i<=n do begin
if p[i]=false then begin
inc(nr);
j:=i*i;
while j<=n do begin
p[j]:=true;
j:=j+i;
end;
end;
i:=i+2;
end;
while i<=n do begin
if p[i]=false then inc(nr);
i:=i+2;
end;
writeln(nr);
readln;
END.
