讨论 / ?
wuzw 2011-11-02 02:52:00
点我顶贴 收藏 删除
VAR a0,b0,b1,a1,n,k,i,j,a,b:integer;

procedure main(x,y:integer;var t:integer);

begin

while x mod y<>0 do

main(y,x mod y,t);

t:=y;

end;

procedure fj(x:integer;var y:integer);

begin

y:=0;

i:=1;

repeat

if x mod i=0 then

begin inc(y);x:=x div i;

while x mod i<>0 do

begin

inc(y);x:=x div i;

end;

end;

inc(i)

until i=sqrt(x);

end;

begin

readln(a0,a1,b0,b1);

a:=a0 div a1;b:=b1 div b0;

main(a,b,k);

if k<>1then

begin

writeln('0');halt;

end;

main(a,b0,k);

b0:=b0 div k;

main(a1,b,k);

main(b0,k,i);

k:=k div i;

fj(b0,i);

fj(k,j);

writeln((1+i+j)*(i+j)div 2);

readln

end.

查看更多回复
提交回复