본문 바로가기

백준/C++

[C++] 백준 1145번 - 적어도 대부분의 배수

728x90

 

문제 1145번

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

 

다섯 개의 자연수를 크기가 5인 배열에 넣는다. 적어도 대부분의 배수를 알아야하기 때문에 해당 배수는 다섯 개의 자연수 중 가장 작은 수보다는 큰 수이다. 그러므로 따로 min변수에 '작은 수-1'을 넣어준다(나중에 ++를 해주기 때문에 1을 빼줌).

 

적어도 3개니까 cnt변수가 3보다 작을 때까지 반복문을 돌려준다. 찾는 배수인지 확인하기 위해 num에 담긴 자연수를 min에서 각각 나눴을 때 나머지가 0인지 본다. 0이면 나누어떨어진다는 소리이기 때문에 cnt변수를 1증가시킨다. 그렇게 적어도 3개로 나누어지는지 확인된 배수를 출력해주면 된다.

#include <iostream>
using namespace std;

int main() {
	int num[5] = {};
	int min = 0;
	for (int i = 0; i < 5; i++) {
		cin >> num[i];
		if (num[i] < min) {
			min = num[i] - 1;
		}
	}
	int cnt = 0;
	while (cnt < 3) {
		min++;
		cnt = 0;
		for (int i = 0; i < 5; i++) {
			if (min % num[i] == 0) {
				cnt++;
			}
		}
	}
	cout << min;

	return 0;
}

 

728x90

'백준 > C++' 카테고리의 다른 글

[C++] 백준 1550번 - 16진수  (0) 2024.08.10
[C++] 백준 1173번 - 운동  (0) 2024.08.07
[C++] 백준 2083번 - 럭비 클럽  (0) 2024.07.31
[C++] 백준 1076번 - 저항  (0) 2024.07.26
[C++] 백준 2920번 - 음계  (0) 2024.07.25