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

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

import Foundation

func isPerfectCubeRoot(_ x: Int) -> Bool {
    let absX = abs(x)
    
    let cubeRoot = Int(round(pow(Double(absX), 1.0 / 3.0)))
    
    return pow(Double(cubeRoot), 3) == Double(absX)
}

print(isPerfectCubeRoot(16))
print(isPerfectCubeRoot(64))
print(isPerfectCubeRoot(27))
print(isPerfectCubeRoot(25))
print(isPerfectCubeRoot(-64))
print(isPerfectCubeRoot(-27))
print(isPerfectCubeRoot(729))



/*
run:

false
true
true
false
true
true
true

*/

 



answered Dec 24, 2024 by avibootz

Related questions

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