P1029 最大公约数和最小公倍数问题

          p=k1*x      k1* x<=y     k1<=y/x
          q=k2*x
     (k1,k2)=1
     k1*k2=y/x

#include<bits/stdc++.h>
using namespace std;
int n,x,y;
int main(){
	cin >> x >> y;
	if(y%x){
		cout << 0;return 0;
	}
	n=y/x;
	int cnt=0;
	for(int i=1;i<=n;++i){
		if(n%i) continue;
		int j=n/i;
		if(__gcd(i,j)==1) cnt++;
	}
	cout << cnt;
	return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务