// The cube root is a whole number. For example, 27 is a perfect cube, as ∛27 or (27)**1/3 = 3
#include <stdbool.h>
#include <stdio.h>
#include <math.h>
bool isPerfectCubeRoot(int x) {
x = abs(x);
int cubeRoot = (int)round(pow(x, 1.0 / 3.0));
return pow(cubeRoot, 3) == x;
}
int main() {
printf("%d\n", isPerfectCubeRoot(16));
printf("%d\n", isPerfectCubeRoot(64));
printf("%d\n", isPerfectCubeRoot(27));
printf("%d\n", isPerfectCubeRoot(25));
printf("%d\n", isPerfectCubeRoot(-64));
printf("%d\n", isPerfectCubeRoot(-27));
printf("%d\n", isPerfectCubeRoot(729));
return 0;
}
/*
run:
0
1
1
0
1
1
1
*/