// The cube root is a whole number. For example, 27 is a perfect cube, as ∛27 or (27)**1/3 = 3
fun isPerfectCubeRoot(x: Int): Boolean {
val absX = Math.abs(x)
val cubeRoot = Math.round(Math.pow(absX.toDouble(), 1.0 / 3.0)).toInt()
return Math.pow(cubeRoot.toDouble(), 3.0) == absX.toDouble()
}
fun main() {
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
*/