Thursday, April 17, 2008

write an O(log2(N)) algorithm to find X^N

________________________________________

int Sq(int x, int n) {
int y = 0;

if (n < 0) return -1;
if (n == 0) return 1;
if (n == 1) return x;

if (n % 2 == 0) {
y = Sq(x, n/2);
return y * y;
}

y = Sq(x, n/2);
return x * y * y;
}

No comments: