10204. 「一本通 6.3 例 2」Hankson 的趣味题

题意

已知正整数 $a_0,a_1,b_0,b_1$,设某未知正整数 $x$ 满足:
1. $x$ 和 $a_0$ 的最大公约数是 $a_1$;
2. $x$ 和 $b_0$ 的最小公倍数是 $b_1$。
Hankson 的「逆问题」就是求出满足条件的正整数 $x$ 的个数。

思路

先从第二个条件入手。 $$lcm(x,b_0)=b_1$$ 因为$lcm(x,y)=x*y/gcd(x,y)$ 所以$lcm(x,b_0)=x*b_0/gcd(x,b_0)=b_1$ 化简,得: $$x=(b_1/b_0)*gcd(x,b_0)$$ 因为$b_1,b_0$都是已知量,所以只需要枚举$gcd(x,b_0)$即可求解出$x$。 ~~而$gcd(x,b_0)$必须是$b_0$的因数(废话)~~ 所以只需要从$1$枚举到$sqrt(b_0)$就好了。 注意判断$b_0$是完全平方数的情况。
暂无评论

发送评论


				
上一篇
下一篇