How to get the square root rounded down to the nearest integer of a positive integer in Scala

1 Answer

0 votes
object Program {

  def mySqrt(n: Long): Long = {
    if (n == 0 || n == 1) return n

    var start = 1L
    var end   = n

    while (start <= end) {
      val mid   = start + (end - start) / 2
      val midSq = BigInt(mid) * mid

      if (midSq > n) {
        end = mid - 1
      } else if (midSq == n) {
        return mid
      } else {
        start = mid + 1
      }
    }

    end
  }

  def main(args: Array[String]): Unit = {
    println(mySqrt(240000)) 
  }
}



/*
run:

489

*/

 



answered Dec 29, 2025 by avibootz

Related questions

...