// The cube root is a whole number. For example, 27 is a perfect cube, as ∛27 or (27)**1/3 = 3
using System;
public class PerfectCubeRoot_CSharp
{
public static bool isPerfectCubeRoot(int x) {
x = Math.Abs(x);
int cubeRoot = (int)Math.Round(Math.Pow(x, 1.0 / 3.0), MidpointRounding.AwayFromZero);
return Math.Pow(cubeRoot, 3) == x;
}
public static void Main(string[] args)
{
Console.WriteLine(isPerfectCubeRoot(16));
Console.WriteLine(isPerfectCubeRoot(64));
Console.WriteLine(isPerfectCubeRoot(27));
Console.WriteLine(isPerfectCubeRoot(25));
Console.WriteLine(isPerfectCubeRoot(-64));
Console.WriteLine(isPerfectCubeRoot(-27));
Console.WriteLine(isPerfectCubeRoot(729));
}
}
/*
run:
false
true
true
false
true
true
true
*/