Pagini recente » Cod sursa (job #2562807) | Cod sursa (job #709224) | Cod sursa (job #1746315) | Cod sursa (job #1343030) | Cod sursa (job #451025)
Cod sursa(job #451025)
var max,min,c,s,d,i,j,k,l,p,r:longint;
fp:array[1..100] of longint;
prime:boolean;
{function cmmdc(a,b: longint):longint;
begin
while b<>0 do
begin
c:=a mod b;
a:=b;
b:=c;
end;
cmmdc:=a;
end;
function prime(a,b:longint):boolean;
var k,i:longint;
begin
k:=trunc(sqrt(a));
prime:=true;
for i:=2 to k do
if a mod i=0 then
begin
if b mod i=0 then
begin
prime:=false;
break;
end;
a:=a div i;
while a mod i=0 do
a:=a div i;
end;
if (a<>1) and (b mod a=0) then prime:=false;
end;}
begin
assign(input,'mins.in');
assign(output,'mins.out');
reset(input);
rewrite(output);
readln(c,d);
if c<d then
begin
min:=c-1;
max:=d-1;
end
else
begin
min:=d-1;
max:=c-1;
end;
s:=0;
for i:=2 to min do
begin
r:=i;
p:=0;
k:=trunc(sqrt(r));
for l:=2 to k do
if r mod l=0 then
begin
inc(p);
fp[p]:=l;
r:=r div l;
while r mod l=0 do
r:=r div l;
end;
if r<>1 then
begin
inc(p);
fp[p]:=r;
end;
for j:=1 to i-1 do
begin
prime:=true;
for l:=1 to p do
if j mod fp[l]=0 then
begin
prime:=false;
break;
end;
if prime then inc(s);
end;
end;
s:=s*2;
for i:=min+1 to max do
begin
r:=i;
p:=0;
k:=trunc(sqrt(r));
for l:=2 to k do
if r mod l=0 then
begin
inc(p);
fp[p]:=l;
r:=r div l;
while r mod l=0 do
r:=r div l;
end;
if r<>1 then
begin
inc(p);
fp[p]:=r;
end;
for j:=1 to min do
begin
prime:=true;
for l:=1 to p do
if j mod fp[l]=0 then
begin
prime:=false;
break;
end;
if prime then inc(s);
end;
end;
writeln(s+1);
close(output);
end.