Pagini recente » Cod sursa (job #2352943) | Cod sursa (job #1322341) | Cod sursa (job #471015) | Istoria paginii preoni-2005/runda-3/solutii | Cod sursa (job #427414)
Cod sursa(job #427414)
program ciur;
const modize:longint = 31;
type sett = set of 0..31;
var v:array[1..250000] of sett;
n:longint;
be,ki:text;
i,j,m:longint;
procedure berak(x:longint);inline;
begin
m:=x and modize;
x:=x shr 5;
v[ x ] := v[ x ] + [ m ];
end;
function bennevan(x:longint):boolean;inline;
begin
m:=x and modize;
x:=x shr 5;
bennevan := m in v[x];
end;
procedure kovprim;inline;
begin
if odd(i) then i:=i+2
else i:=i+1;
while bennevan(i) do
i:=i+2;
end;
begin
assign(be,'ciur.in');
assign(ki,'ciur.out');
reset(be);
rewrite(ki);
readln(be,n);
i:=2;
while i*i <= n do
begin
j:=i*i;
while j <= n do
begin
berak( j );
j:=j + i;
end;
kovprim;
end;
j:=0;
for i:=2 to n do
if not bennevan(i) then inc(j);
writeln(ki,j);
close(ki);
end.