How to check if two halves of a number are equal in Scala

1 Answer

0 votes
object HalfCheck {

  def halvesEqual(n: Int): Boolean = {
    val s = n.toString
    val len = s.length

    if (len % 2 != 0)
      return false   // cannot split evenly

    val half = len / 2
    val left  = s.substring(0, half)
    val right = s.substring(half)

    left == right
  }

  def main(args: Array[String]): Unit = {
    val testNumbers = Array(1212, 123123, 45454545, 123, 1213)

    for (n <- testNumbers) {
      println(s"$n -> ${if (halvesEqual(n)) "equal halves" else "not equal"}")
    }
  }
}



/*
run:

1212 -> equal halves
123123 -> equal halves
45454545 -> equal halves
123 -> not equal
1213 -> not equal

*/

 



answered Dec 22, 2025 by avibootz
...