1934번은 앞전에 풀었던 2609번과 유사한 방법으로 풀 수 있습니다.
최소공배수를 구하기 위해서는 최대공약수를 먼저 구한다음에, 두 수를 각각 최대공약수로 나눈 나머지와 최대공약수를 곱해주면 쉽게 구할 수 있습니다.
https://haula.tistory.com/entry/%E3%85%81
알고리즘이 궁금하신분은 여기서 확인하시면 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include<iostream> using namespace std; int divide(int x, int y) { if (x % y == 0) return y; else return divide(y, x % y); } int main() { int T; int A, B; cin >> T; for (int i = 0; i < T; i++) { cin >> A >> B; if (A >= B) { cout << A * B / divide(A, B) << "\n"; } else cout << A * B / divide(B, A) << "\n"; } } | cs |
정답처리 확인하였습니다. 감사합니다.
'백준 문제풀이 (C++) > 수학' 카테고리의 다른 글
[수학] 9613번 GCD 합 C++ 풀이법 (0) | 2020.08.22 |
---|---|
[수학] 2609번 최대공약수와 최소공배수 C++ <유클리드 풀이> (0) | 2020.08.22 |
[수학] 10430번 나머지 (0) | 2020.08.21 |