>>477
こうじゃない?
いい加減に書いたから間違ってたらごめん

double Power(double x, uint n)
{
  if (x == 0) return 0;
  if (n == 0) return 1;
  if (n == 1) return x;

  return n % 2 == 0 ? Power(x * x, n / 2) : Power(x * x, n / 2) * x;
}

要するに、
x^(a + 1) = x^a * x
x^(2 * a) = (x * x)^a