题目描述
输入两个正整数 x_0, y_0x ,求出满足下列条件的 P, QP,Q 的个数:P,QP,Q 是正整数。要求 P, QP,Q 以 x_0x 0为最大公约数,以 y_0y 0为最小公倍数。试求:满足条件的所有可能的 P, QP,Q 的个数。
输入格式
一行两个正整数 x_0, y_0x
输出格式
一行一个数,表示求出满足条件的 P, QP,Q 的个数。
输入输出样例
输入 #1复制
3 60
输出 #1复制
4
说明/提示
P,QP,Q 有 44 种:
3, 60
15, 12
12, 15
60, 3
对于 100%100% 的数据,2 le x_0, y_0 le {10}^52≤x
【题目来源】
NOIP 2001 普及组第二题
#includeusing namespace std; typedef long long int ll; int zuidagy(int x,int y){ int temp,s; if(x 0 ? gcd(b,a%b) : a; } int main(){ ll m,n,ans=0,flag=0; cin>>m>>n; ll i,j,b; for(i=m;i<=n;i++){ int j=m*n/i;{ if((zuidagy(i,j)==m)&&(i*j/zuidagy(i,j)==n)){ ans++; } } } cout< 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)