当前位置:首页 > 《Hankson的趣味题》解题报告
Inc(I); End;
If T1<>1 Then Begin Inc(PT[0]); PT[PT[0]]:=T1; Num[PT[0]]:=1; End; End;
Procedure Work1(T:Longint); //排除a'的质因数 Var
I:Longint; Begin
For I:=1 to PT[0] do
If T Mod PT[I]=0 Then Num[I]:=0; End;
Begin
Assign(Input,'son.in');Assign(Output,'son.out'); Reset(Input);Rewrite(Output); Read(N);
P[1]:=2;P[2]:=3;P[3]:=5;P[0]:=3; Top:=5; For I:=1 to N do Begin
Fillchar(PT,Sizeof(PT),0); Fillchar(Num,Sizeof(Num),0); Read(A0,A1,B0,B1); A0:=A0 Div A1;
If Round(Sqrt(A0))>Top Then MorePrime(Round(Sqrt(A0))); B0:=B1 Div B0;
If Round(Sqrt(B0))>Top Then MorePrime(Round(Sqrt(B0))); If B1 Mod A1<>0 Then Begin Writeln(0);Continue; End;
T:=B1 Div A1;
If Round(Sqrt(T))>Top Then MorePrime(Round(Sqrt(T))); GetFactor(T); Work1(A0);
Flag:=False; //排除b'的质因数 For J:=1 to PT[0] do Begin
If B0 Mod PT[J]=0 Then
If Num[J]=0 Then Flag:=True Else Num[J]:=0;
If Flag Then Break; End;
If Flag Then Begin
Writeln(0);Continue; End; Sum:=1;
For J:=1 to PT[0] do
Sum:=Sum*(Num[J]+1); Writeln(Sum); End;
Close(Input);Close(Output); End.
共分享92篇相关文档