Cod sursa(job #174619)
| Utilizator | Data | 9 aprilie 2008 00:43:14 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 70 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
var c:array[1..2000000] of integer;
x,nr,i,k,n:longint;
f:text;
begin
assign(f,'ciur.in'); reset(f);
readln(f,n);
close(f);
assign(f,'ciur.out'); rewrite(f);
k:=3; nr:=0;
while k<=trunc(sqrt(n)) do
begin
if c[k]=0 then begin
x:=k+k;
while x<=n do
begin
c[x]:=1;
x:=x+k;
end; end;
k:=k+2;
end; i:=1;
while i<=n do
begin
i:=i+2;
if c[i]=0 then inc(nr);
end;
writeln(f,nr);
close(f);
end.