Pagini recente » Cod sursa (job #2942004) | Cod sursa (job #2432328) | Cod sursa (job #569796) | Cod sursa (job #193192) | Cod sursa (job #427447)
Cod sursa(job #427447)
program primeknig;
const bitek:array[0..7] of byte = (1,2,4,8,16,32,64,128);
var be,ki:text;
v:array[1..250000] of byte;
n,i,j:longint;
function bennevan( x:longint ):boolean;
var m:byte;
begin
m:= x and 7;
x:= x shr 3;
bennevan := ((v[x]) and (bitek[m])) <> 0;
end;
procedure berak( x:longint);
var m:byte;
begin
m:= x and 7;
x:= x shr 3;
v[x]:= v[x] or bitek[m];
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.