输入两个正整数x,y(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P、Q的个数
(A)P、Q是正整数。
(B)要求P、Q以x为最大公约数,以y为最小公倍数。
#include<iostream>
using namespace std;
int Y(int num1, int num2)
{
int temp;
int y;
int max = num1 > num2 ? num1 : num2;
int min = num1 < num2 ? num1 : num2;
while (temp=max % min)
{
max = min;
min = temp;
}
y = min;
return y;
}
int main()
{
int x, y;
int n = 0;
cin >> x >> y;
int max = x > y ? x : y;
for (int i = 1; i <= max; i++)
{
for (int j = 1; j <= max; j++)
{
int c = Y(i, j);
int d = i * j / c;
if (x == c && y == d)
{
n++;
cout << i << "和" << j << endl;
}
}
}
cout << "一共有" << n << "种" << endl;
return 0;
}