101 最大公约数

// 101 最大公约数.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

/*
http://oj.daimayuan.top/course/21/problem/486


输入T,一共T组数据,每组两个数a,b,输出它们的最大公约数和最小公倍数。

输入格式
第一行一个数字T。

接下来T行,每行两个数字a,b。

输出格式
一共T行,每行两个数,分别表示最大公约数和最小公倍数。

输入样例
2
1 2
100 150
输出样例
1 2
50 300
数据规模
对于100%
的数据,保证1≤T≤104,1≤a,b≤109。
*/


#include <iostream>

using namespace std;

int gcd(int a, int b) {
    return b ? gcd(b, a % b) : a;
}

int T;
int a, b;

void solve() {
    cin >> a >> b;
    int g = gcd(a, b);
    long long c = 1LL*a / g * b;

    cout << g << " " << c << endl;
}


int main()
{
    cin >> T;
    while (T--) {
        solve();
    }

    return 0;
}


posted on 2024-11-13 18:11  itdef  阅读(12)  评论(0)    收藏  举报

导航