Cod sursa(job #431316)
| Utilizator | Data | 31 martie 2010 20:50:10 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.75 kb |
var x,p,n,i:longword;
pd:array[1..2000000]of boolean;
begin
assign(input,'ciur.in');
assign(output,'ciur.out');
reset(input);
read(n);
close(input);
p:=0;
for i:=1 to n do
pd[i]:=true;
x:=4;
p:=p+1;
while x<=n do
begin
pd[x]:=false;
x:=x+4;
end;
i:=3;
while i<=n do
begin
if pd[i] then
begin
x:=i+i;
p:=p+1;
while x<=n do
begin
pd[x]:=false;
x:=x+i;
end;
end;
i:=i+2;
end;
rewrite(output);
write(p);
close(output);
end.
