How to check whether a number is a perfect cube root in Scala

1 Answer

0 votes
// The cube root is a whole number. For example, 27 is a perfect cube, as ∛27 or (27)**1/3 = 3

object PerfectCubeRoot_Scala {
  def isPerfectCubeRoot(x: Int): Boolean = {
    val absX = Math.abs(x)
    
    val cubeRoot = Math.round(Math.pow(absX, 1.0 / 3.0)).toInt
    
    Math.pow(cubeRoot, 3) == absX
  }

  def main(args: Array[String]): Unit = {
    println(isPerfectCubeRoot(16))
    println(isPerfectCubeRoot(64))
    println(isPerfectCubeRoot(27))
    println(isPerfectCubeRoot(25))
    println(isPerfectCubeRoot(-64))
    println(isPerfectCubeRoot(-27))
    println(isPerfectCubeRoot(729))
  }
}




/*
run:

false
true
true
false
true
true
true
    
*/

 



answered Sep 2, 2024 by avibootz

Related questions

1 answer 42 views
1 answer 50 views
1 answer 61 views
1 answer 77 views
...