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

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

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

 



answered Dec 24, 2024 by avibootz

Related questions

1 answer 116 views
1 answer 158 views
1 answer 181 views
1 answer 177 views
1 answer 114 views
...