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 |