fun halvesSumEqual(n: Long): Boolean {
val s = kotlin.math.abs(n).toString()
if (s.length % 2 != 0) return false
val half = s.length / 2
val left = s.substring(0, half)
val right = s.substring(half)
fun sumDigits(str: String) = str.sumOf { it.digitToInt() }
return sumDigits(left) == sumDigits(right)
}
fun main() {
val nums = listOf(123456L, 123321L, 123123L, 123411L, 1234321L, 12321L)
for (n in nums) {
println("$n: ${halvesSumEqual(n)}")
}
}
/*
run:
123456: false
123321: true
123123: true
123411: true
1234321: false
12321: false
*/