Problem Solving/백준
[2231] 분해합
충무로술겜마
2021. 7. 2. 13:05
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 |