Description
输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数
条件:
1.P,A是正整数
2.要求P,Q以x0为最大公约数,以y0为最小公倍数.
试求:满足条件的所有可能的两个正整数的个数.
Input
Output
Sample Input
3 60
Sample Output
4
说明(不用输出)此时的 P Q 分别为:
3 60
15 12
12 15
60 3
所以:满足条件的所有可能的两个正整数的个数共4种.
解题思路:
用两个函数分别求出最大公约数和最小公倍数,用一个循环查找,若满足条件,则
inc
(
ans
),最后输出
ans
即可。
程序:
x,y,p,q,t,tt,s,i,j:longint;
begin
if b=0 then gcd:=a else gcd:=gcd(b,a mod b);
begin
gbs:=a*b div gcd(a,b);
readln(x,y);s:=0;
if (y mod x<>0) then writeln(0)
else begin
for i:=x to y do
begin
for j:=i to y do
begin
t:=gcd(i,j);
tt:=gbs(i,j);
if (t=x) and (tt=y) then begin s:=s+1; end;
end;
end;
writeln(s*2);
end;
var
function gcd(a,b:longint):longint;
end;
function gbs(a,b:longint):longint;
end;
begin
end.