알고리즘 문제
[알고리즘 문제] 백준1145 - 적어도 대부분의 배수
박연호의 개발 블로그
2019. 7. 5. 14:55
문제는 어떤 숫자 X(배수)를 구하는 건데 조건은 X입력받은 숫자들로 나누었을 때 나누어떨어지는 숫자가 3개 이상존재하는 X를 구하는 문제이다.
만약 [30 42 70 35 90]숫자를 입력받을 때, 210의 경우는 30,42,70로 나누어 떨어지므로 X가 된다.
방법은 숫자 val을 하나씩 증가하면서 입력받은 배열의 숫자들을 모두 나누어떨어지는지 검사하고 나누어 떨어지는 숫자가 3개 이상이면 val을 출력한다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[5];
for (int i = 0; i < 5; i++) {
arr[i] = sc.nextInt();
}
int val = 1;
int count = 0;
while (true) {
for (int k = 0; k < 5; k++) {
if (val % arr[k] == 0) {
count++;
}
}
if (count >= 3) {
System.out.println(val);
return;
}
count = 0;
val++;
}
}
}