Skip to content

Commit 145014f

Browse files
committed
CT_407
1 parent 6d6c5c1 commit 145014f

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package B1
2+
3+
fun main() {
4+
val N = readLine()!!.toInt()
5+
val digits = readLine()!!.split(" ").map { it.toInt() }
6+
7+
// 한 자리 숫자 중에서 소수가 아닌 수 찾기 (0, 1, 4, 6, 8, 9)
8+
for (d in digits) {
9+
if (d in listOf(0, 1, 4, 6, 8, 9)) {
10+
println("YES")
11+
println(d)
12+
return
13+
}
14+
}
15+
16+
// 두 자리 숫자로 합성수를 만들 수 있는지 확인
17+
for (i in digits) {
18+
for (j in digits) {
19+
val num = i * 10 + j
20+
if (!isPrime(num)) {
21+
println("YES")
22+
println(num)
23+
return
24+
}
25+
}
26+
}
27+
28+
// 세 자리 이상의 숫자로 합성수를 찾음
29+
for (i in digits) {
30+
for (j in digits) {
31+
for (k in digits) {
32+
val num = i * 100 + j * 10 + k
33+
if (!isPrime(num)) {
34+
println("YES")
35+
println(num)
36+
return
37+
}
38+
}
39+
}
40+
}
41+
42+
println("NO")
43+
}
44+
45+
// 소수 판별 함수
46+
fun isPrime(n: Int): Boolean {
47+
if (n < 2) return false
48+
if (n == 2) return true
49+
if (n % 2 == 0) return false
50+
for (i in 3..Math.sqrt(n.toDouble()).toInt() step 2) {
51+
if (n % i == 0) return false
52+
}
53+
return true
54+
}

0 commit comments

Comments
 (0)