Cod sursa(job #543356)
| Utilizator | Data | 27 februarie 2011 21:54:56 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
var a:array[1..2000000] of boolean;
n,nr,i:longint;
f:text;
procedure prim;
var i,j:longint;
begin
for i:=2 to n do
a[i]:=true;
for i:=2 to round(sqrt(n)) do
if a[i] then
begin
j:=i;
while j+i<=n do
begin
inc(j,i);
a[j]:=false;
end;
end;
end;
begin
assign(f,'ciur.in');
reset(f);
read(f,n);
prim;
nr:=0;
for i:=2 to n do
if a[i] then inc(nr);
assign(f,'ciur.out');
rewrite(f);
write(f,nr);
close(f);
end.
