Description
输入两个正整数,求它们的最小公倍数。
Input
第一行一个正整数,表示数据组数。
接下来行,每行两个正整数,表示
Output
每个测试样例打印一个编号,之后输出一个正整数,表示答案,保证答案的大小不会超过10^18。格式如
样例所示。
Sample Input
5
2 3
4 6
3 10
7 13
100000000000 100000000000
Sample Output
6
12
30
91
100000000000
#include <iostream>
using namespace std;
#define ll unsigned long long int
ll gys(ll m, ll n);
int main() {
int T;
ll a, b;
cin >> T;
while (T--) {
cin >> a >> b;
cout << a / gys(a, b) * b << endl;//最小公倍数公式
}
return 0;
}
ll gys(ll m, ll n) {
ll g;
if (n == 0)
g = m;
else
g = gys(n, m % n);
return g;
}//辗转相除法求最大公约数