이전에 풀었던 9613번 최대공약수와 연결되는 문제이다. 최소공배수는 두 수의 곱 / 최대공약수로 구할 수 있다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
long long GCD(long long A, long long B)
{
long long temp;
if (A < B)
{
temp = A;
A = B;
B = temp;
}
while (B != 0)
{
temp = A % B;
A = B;
B = temp;
}
return A;
}
long long find_answer(long long A, long long B)
{
long long C = A * B;
long long LCM;
long long gcd = GCD(A, B);
LCM = C / gcd;
return LCM;
}
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int T;
int i;
long long A, B;
cin >> T;
for (i = 0; i < T; i++)
{
cin >> A >> B;
cout << find_answer(A, B) << "\n";
}
return 0;
}