// 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
*/