How to check whether a number is a perfect cube root in C#

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

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

 



answered Sep 1, 2024 by avibootz

Related questions

1 answer 135 views
1 answer 143 views
1 answer 174 views
1 answer 196 views
1 answer 193 views
1 answer 134 views
...