Implement pow(x, n). Have you been asked this question in an interview? public class Solution { public double pow(double x, int n) { boolean isNegative = false; if (n == 0) { return 1; } if (n == 1) { return x; } if (n < 0) { isNegative = true; n = -n; } int t1 = n/2; int t2 = n - t1*2; double res1 = pow(x, t1); double res2 = pow(x, t2); double res = res1 * res1* res2; if (isNegative) { return 1/res; } else { return res; } } }