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

1 Answer

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

*/

 



answered Dec 23, 2025 by avibootz
...