最大公约数和最小公倍数
题目描述
输入两个正整数x ,y ,求出满足下列条件的P,Q的个数:
1.P,Q是正整数。
2.要求P,Q以x 为最大公约数,以y 为最小公倍数。
试求:满足条件的所有可能的
P,Q的个数。
输入
一行两个正整数
x ,y
。
输出
—行一个数,表示求出满足条件的
P,
Q的个数。
样例输入 复制
3 60
样例输出 复制
4
include<bits/stdc++.h>
using namespace std;
int main(){
long long x, y, ans = 0;
cin >> x >> y;
for(long long i= 1; i * i<=x*y; i++) {
if(x * y % i == 0&&(__gcd(i,x * y / i)) == x){//1
if(i != x * y/i){
ans += 2;
} else {
ans++;
}
}
}
cout << ans << endl;
return 0;
}
1:__gcd要用头文件