题目链接:gcd来了
这里直接调用algorithm里面的__gcd函数就可以了,是可以处理long long 类型的

#include <iostream>
#include <algorithm>
#include <cmath>

using namespace std;

typedef long long ll;

void solve()
{
    ll m, n;
    while(cin>>m>>n)
    {
        ll a = __gcd(m, n);
        cout<<a<<" "<<m / a * n<<endl;
    }
}

int main(void)
{
    solve();
    return 0;
}

但是要注意一点

cout<<a<<" "<<m / a * n<<endl;

这里如果是m * n先计算的话会溢出, 得先除a才去乘n.