https://www.acmicpc.net/problem/2231
2231번: 분해합
어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이
www.acmicpc.net
브루트 포스가 가장 간단한 해답이라는 생각이 들었는데 인풋도 하나에 시간도 널널했네요.
1부터 주어진 자연수까지 하나씩 다 해보면 됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
import java.util.*
fun checkSum(x:Int): Boolean {
for (i in 1..x){
var array = IntArray(7) { 0 }
var _x = i
var j = 0
while(_x != 0){
array[j] = (_x % 10)
_x /= 10
j++
}
val sum = array.sum()
if(i+sum == x){
println(i)
return true
}
}
return false
}
fun main(){
val sc: Scanner = Scanner(System.`in`)
val N = sc.nextInt()
if (!checkSum(N)){
println("0")
}
}
|
cs |
'Problem Solving > 백준' 카테고리의 다른 글
[15829] Hashing (0) | 2021.07.05 |
---|---|
[2798] 블랙잭 (0) | 2021.07.05 |
[2775] 부녀회장이 될테야 (0) | 2021.07.05 |
[4153] 직각삼각형 (0) | 2021.07.02 |
[10250] ACM 호텔 (0) | 2021.07.02 |