B. Two Divisors

发布时间 2023-12-31 13:24:06作者: 纯粹的

原题链接

题记

1.题目漏了个说明条件,应该说明所给数据一定能找到对应的x
例如a=2,b=6就找不到相对应的x
2.如果一定存在对应的x,那么b一定是x除以x最小的因子,a一定是x除以x第二小的因子
如果第二小的因子不是由第一小的因子的平方得到的,那么\(lcm(a,b)\)一定能找到x
否则再乘上第一小因子

代码

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int a,b;
        cin>>a>>b;
        if(b%a) cout<<a/__gcd(a,b)*b<<endl;
        else cout<<b/a*b<<endl;
    }
    return 0;
}