摘要: 题目大意:告知两个数x,y.求另外两个数的组合p,q,满足gcd(p,q)=x;lcm(p,q)=y;思路:因为x是p,q的最大公约数,所以可以假设m=p/x,n=q/x; 可以证明m,n肯定是互质的,利用反证法。也就是说明 m*n=(p/x)*(q/x)=(p*q)/(x*x);以因为 lcm=(p*q)/gcd,代入可以 m*n=lcm/gcd; 就是如果y/x的质因子个数所有可能情况,排列计算可以得到结果为 2^k ,k为y/x的质因子个数;代码如下:#include <iostream>#include <vector>#include <cmath> 阅读全文