문제

풀이
유클리드 호제법을 이용해 a와 b의 최대공약수를 구한 뒤 a와 b의 곱에 최대공약수를 나눈 몫이 최소공배수가 된다.
#include <iostream>
using namespace std;
int gcd(int a, int b) {
if (b == 0) return a;
return gcd(b, a % b);
}
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
int a, b;
cin >> a >> b;
cout << a * b / gcd(a, b) << "\n";
}
return 0;
}
'백준 > 약수, 배수와 소수' 카테고리의 다른 글
1735번: 분수 합 [C++] (0) | 2023.03.29 |
---|---|
13241번: 최소공배수 [C++] (0) | 2023.03.29 |
1085: 직사각형에서 탈출 / C++ (0) | 2023.03.20 |
9020: 골드바흐의 추측 / C++ (0) | 2023.03.20 |
11653: 소인수분해 / C++ (0) | 2023.03.20 |