讨论 / 304题求教
CHambist 2013-10-06 03:02:00
点我顶贴 收藏 删除
program gys;

var x0,y0,n,m,p,q,i,j,k,sum,a,b:longint;

begin

read(x0,y0);

if x0=y0 then

begin

writeln('1');

exit;

end;

if x0>y0 then

begin

writeln('0');

exit;

end;

p:=x0*y0;

q:=round(sqrt(p));

for i:=x0 to q do

if p mod i=0 then

begin

if i=p div i then

begin

inc(sum);

break;

end;

if i>p div i then

begin

a:=i;

b:=p div i;

end;

if i<p div i then

begin

a:=p div i;

b:=i;

end;

while a mod b<>0 do

begin

k:=b;

b:=a mod b;

a:=k;

end;

if b=x0 then sum:=sum+2;

end;

writeln(sum);

end.

查看更多回复
提交回复