Pagini recente » Cod sursa (job #3237674) | Cod sursa (job #2648958) | Cod sursa (job #461398) | Cod sursa (job #2381424) | Cod sursa (job #427403)
Cod sursa(job #427403)
program ciur;
type sett = set of 0..31;
var v:array[1..250000] of sett;
n:longint;
be,ki:text;
i,j:longint;
procedure berak(x:longint);
var m:byte;
begin
//write('berak ',x);
m:=x mod 32;
x:=x div 32;
v[ x ] := v[ x ] + [ m ];
//writeln(' (',x,';',m,') ');
end;
function bennevan(x:longint):boolean;
var m:byte;
begin
//write('bennevan? ',x);
m:=x mod 32;
x:=x div 32;
bennevan := m in v[x];
//writeln(' (',x,';',m,') ',m in v[x]);
end;
procedure kovprim;
begin
inc(i);
while bennevan(i) do
inc(i);
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.