You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
669 B

2 years ago
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
/**
3 60
4
*/
//最大公约数
LL gcd(LL x, LL y) {
return y ? gcd(y, x % y) : x;
}
//最小公倍数
int lcm(int x, int y) {
return y / gcd(x, y) * x; //注意顺序防止乘法爆int
}
int cnt;
LL x; //最大公约数
LL y; //最小公倍数
int main() {
cin >> x >> y;
//理论依据gcd(p,q)*lcm(p,q)=p*q
//枚举最大公约数x的倍数
for (LL p = x; p <= y; p += x) {
LL q = x * y / p;
if (gcd(p, q) == x && lcm(p, q) == y) cnt++;
}
cout << cnt << endl;
return 0;
}