object HalvesSumEqualDemo {
def halvesSumEqual(n: Long): Boolean = {
val s = math.abs(n).toString
if (s.length % 2 != 0)
return false
val half = s.length / 2
val (left, right) = s.splitAt(half)
def sumDigits(str: String): Int =
str.map(_.asDigit).sum
sumDigits(left) == sumDigits(right)
}
def main(args: Array[String]): Unit = {
val nums = Seq(123456, 123321, 123123, 123411, 1234321, 12321)
nums.foreach { n =>
println(s"$n: ${halvesSumEqual(n)}")
}
}
}
/*
run:
123456: false
123321: true
123123: true
123411: true
1234321: false
12321: false
*/