#include using namespace std;

int gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a % b); }

int lcm(int a, int b) { return a * b / gcd(a, b); }

int main() { int x, y; cin >> x >> y;

int count = 0;
for (int p = x; p <= y; p += x) {
    if (y % p == 0 && gcd(p, y / p) == x) {
        count++;
    }
}

cout << count << endl;

return 0;

}

题目描述输入两个正整数 xy求出满足下列条件的pq 的个数: pq是正整数。要求 pq以 x 为最大公约数以 y 为最小公倍数。试求:满足条件的所有可能的 pq 的个数。输入格式一行两个正整数 xy。输出格式一行一个数表示求出满足条件的 pq 的个数。样例样例输入 #13 60样例输出 #14c++11实现使运行时间最短

原文地址: https://www.cveoy.top/t/topic/hGew 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录