본문 바로가기

코딩테스트/C++

[백준 C++] 1934번: 최소공배수

https://www.acmicpc.net/problem/1934

 

1934번: 최소공배수

두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있

www.acmicpc.net

 

#include <iostream>
using namespace std;
int main() {
	int test_case;
	cin >> test_case;
 
	for (int T = 1;T <= test_case;T++) {
		int A, B, MIN, MAX;
		cin >> A >> B;
		
		MIN = A > B ? B : A;
		MAX = A > B ? A : B;
 
		for (int i = 1;i <= MIN;i++) {
			if ((MAX * i) % MIN == 0) {
				cout << MAX * i << "\n";
				break;
			}
		}
	}
 
	return 0;
}

 

저번에 풀었던 방식 그대로 풀어주었다. 사실 어제는 그냥 풀었던건데 생각안나서 블로그 보고 풀었다...

 

확실히 나는 컨디션이 중요한 사람인거 같다. 또한 이 원리를 어제는 정확하게 이해했다고 생각했는데 그렇지 않았나보다 최대 공약수부터 최대 공배수 간단한 원리인데 다시 한번 짚고 넘어가는 계기가 되었다.