public static void Main()
Console.WriteLine(Tests.AreEqual(Power.CopmutePower(3, 0), 1));
Console.WriteLine(Tests.AreEqual(Power.CopmutePower(2, 3), 8));
Console.WriteLine(Tests.AreEqual(Power.CopmutePower(5, 2), 25));
Console.WriteLine(Tests.AreEqual(Power.CopmutePower(5, -2), 0.04));
public static string AreEqual(double expected, double actual)
return expected == actual ? string.Format("Test Passed- Expected {0} - Actual {1}" , expected , actual)
: string.Format("Test Failed - Expected {0} - Actual {1}", expected , actual);
public static double CopmutePower(double x , double n)
return 1 / CopmutePower(x, -n);
return x * CopmutePower(x, n - 1);
var y = CopmutePower(x, n / 2);
static bool IsEven(double n)
static bool IsOdd(double n)