How to check if the sum of two halves of a number is equal in Kotlin

1 Answer

0 votes
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

*/

 



answered Dec 23, 2025 by avibootz
...