cf div2 B

96 阅读1分钟

题意

给定两个整数a , b. 其中这两个整数是x的两个最大的因数且满足 1a<b<x1 \leq a < b < x , 要求求出x。

样例输入:

2 3
1 2
3 11
1 5
5 10
4 6
3 9
250000000 500000000

样例输出:

6
4
33
25
20
12
27
1000000000

解法

  • bmod a==0b \mod\ a == 0
    • 那么可以得到 b=apb = a · p , 其中 p 是 x的最小质因子 , 那么 x=bp=babx = b · p = b · \frac{a}{b}
  • bmod a !=0b \mod\ a \ != 0
    • 那么可以得到 b=xp,a=xqb = \frac{x}{p} , a = \frac{x}{q}, 其中 p , q 时是 x的最小质因数。 所以 gcd(a,b)=xxpq,x=bp=bagcd(a,b)gcd(a , b) = x · {\frac{x}{p · q}} , x = b · p = b · \frac{a}{gcd(a ,b)}