题目:
思路:
p 与q的最小值与最大值一定为x与y。假如p为i,那么q一定为(x*y)/i;只要重新验证p与q的最大公约数是否为x即可。
代码:
#include<iostream>
using namespace std;
int min_y(int a, int b)
{
int c =a%b;
a=b;
b = c;
while (c!=0)
{
c = a % b;
a = b;
b = c;
}
return a;
}
int main()
{
int x, y; cin >> x >> y;
int pd = 0;
int a = x * y;
for (int i =x; i <= y; i++)
{
if (a % i == 0 && min_y(a / i, i) == x)
{
pd++;
}
}
cout << pd;
return 0;
}