문제는 어떤 숫자 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++;
}
}
}
'알고리즘 문제' 카테고리의 다른 글
[알고리즘 문제] 백준1206 - BFS와 DFS (0) | 2019.07.17 |
---|---|
[알고리즘 문제] 백준2667 - 단지번호붙이기 (0) | 2019.07.12 |
[알고리즘 문제] 백준1568 - 새 (0) | 2019.07.05 |
[알고리즘 문제] 백준1543 - 문서검색 (0) | 2019.07.03 |
[알고리즘 문제] 백준1343 - 폴리오미노 (0) | 2019.06.21 |