u11388

因为a,b整除gcd(a,b),lcm(a,b)又整除a,b,因此如果lcm不整除gcd就是-1;否则的话,lcm=a*b/gcd。而a不能小于gcd,因此a就取gcd,b取lcm。

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <iomanip>
#include <cstring>
#include <map>
#include <queue>
#include <set>
#include <cassert>
#include <stack>
#include <bitset>
#define mkp make_pair
using namespace std;
const double EPS=1e-8;
typedef long long lon;
const lon SZ=10000007,INF=0x7FFFFFFF,mod=10000007;
int n,m;

void init()
{
    
}


void work()
{
    
}

int main()
{
    std::ios::sync_with_stdio(0);
    //freopen("d:\\1.txt","r",stdin);
    lon casenum;
    cin>>casenum;
    //cout<<casenum<<endl;
    for(lon time=1;time<=casenum;++time)
    //for(lon time=1;cin>>n>>m;++time)
    {
        cin>>n>>m;
        if(n>m)swap(n,m);
        if(m%n==0)cout<<n<<" "<<m<<endl;
        else cout<<-1<<endl;
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/gaudar/p/9899653.html
今日推荐