문제 설명
다섯 개의 자연수가 있다. 이 수의 적어도 대부분의 배수는 위의 수 중 적어도 세 개로 나누어 지는 가장 작은 자연수이다.
서로 다른 다섯 개의 자연수가 주어질 때, 적어도 대부분의 배수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다.
출력
첫째 줄에 적어도 대부분의 배수를 출력한다.
입출력 예
Example 1 입력
30 42 70 35 90
Example 1 출력
210
Example 2 입력
1 2 3 4 5
Example 2 출력
4
Example 3 입력
30 45 23 26 56
Example 3 출력
1170
Example 4 입력
3 14 15 92 65
Example 4 출력
195
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] multiples = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
int check = 0;
int increment = 1;
while (true) {
check = 0;
for (int i = 0; i < 5; i++) {
if (increment % multiples[i] == 0) {
check++;
}
}
if (check >= 3) {
break;
}
increment++;
}
System.out.println(increment);
}
}
while 반복문을 돌리면서 전체 완전 탐색을 진행한다.increment 를 1씩 증가시키면서 주어진 수 5개로 모두 나눠보고 나누어 떨어지면 check 값을 하나씩 증가시킨다.check 가 3이 되면 적어도 3개로 나누어 떨어진 수가 됨으로 그떄의 increment 값을 return 한다.