// The cube root is a whole number. For example, 27 is a perfect cube, as ∛27 or (27)**1/3 = 3
public class PerfectCubeRoot_Java {
public static boolean isPerfectCubeRoot(int x) {
x = Math.abs(x);
int cubeRoot = (int)Math.round(Math.pow(x, 1.0 / 3.0));
return Math.pow(cubeRoot, 3) == x;
}
public static void main(String[] args) {
System.out.println(isPerfectCubeRoot(16));
System.out.println(isPerfectCubeRoot(64));
System.out.println(isPerfectCubeRoot(27));
System.out.println(isPerfectCubeRoot(25));
System.out.println(isPerfectCubeRoot(-64));
System.out.println(isPerfectCubeRoot(-27));
System.out.println(isPerfectCubeRoot(729));
}
}
/*
run:
false
true
true
false
true
true
true
*/