/ BOJ

BOJ_1145_적어도대부분의배수_JAVA

문제 : 적어도대부분의배수

링크 : BOJ_1145_적어도대부분의배수

접근 방식

5개의 자연수가 있을 때, 적어도 대부분의 배수는 그 수들 중 적어도 세 개로 나누어지는 가장 작은 자연수를 의미한다.

5개의 자연수를 입력받아, 먼저 오름차순 정렬을 했다. 적어도 3개로 나누어 떨어져야 하므로, 3번째 수를 기준으로 1씩 값을 증가시켜나가며 5개의 자연수로 나누어 떨어지는지 확인한다. 만약 3개 이상의 수로 나누어 떨어지는 수가 나온다면 그 즉시 반복을 멈추고 출력한다.

소스 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

public class BOJ__1145_적어도대부분의배수 {

	public static void main(String[] args) throws IOException {

		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

		StringTokenizer st = new StringTokenizer(in.readLine());

		int[] arr = new int[5];

		for(int i=0;i<5;i++) {
			arr[i] = Integer.parseInt(st.nextToken());
		}

		Arrays.sort(arr);
		int start = arr[2];
		while(true) {
			int cnt = 0;
			for(int i=0;i<5;i++) {
				if(start%arr[i] == 0) {
					cnt++;
				}
			}
			if(cnt >= 3) {
				System.out.println(start);
				break;
			}
			start++;
		}


	}

}