Pagini recente » Cod sursa (job #1273949) | Monitorul de evaluare | Cod sursa (job #1661471) | Cod sursa (job #1408331) | Cod sursa (job #427464)
Cod sursa(job #427464)
program primeknig;
const bitek:array[0..7] of byte = (1,2,4,8,16,32,64,128);
var be,ki:text;
v:array[1..125000] of byte;
n,i,j:longint;
function bennevanx( x:longint ):boolean;inline;
var m:byte;
begin
m:= x and 7;
x:= x shr 3;
bennevanx := ((v[x]) and (bitek[m])) <> 0;
end;
procedure berakx( x:longint );inline;
var m:byte;
begin
m:= x and 7;
x:= x shr 3;
v[x]:= v[x] or bitek[m];
end;
begin
assign(be,'ciur.in');
assign(ki,'ciur.out');
reset(be);
rewrite(ki);
readln(be,n);
i:=3;
while i*i <= n do
begin
j:=i*i;
while j <= n do
begin
if odd(j) then berakx( j shr 1 );
j:=j + i;
end;
repeat
i:=i+2
until not( bennevanx( i shr 1 ) );
end;
j:=0;
if n >1 then
j:=1;
i:=3;
while i <= n do
begin
if not bennevanx( i shr 1 ) then inc(j);
inc(i,2);
end;
writeln(ki,j);
close(ki);
end.