Implement pow(x, n).算法
求x的n次方。 spa
遞歸求解。.net
算法實現類code
public class Solution { public double myPow(double x, int n) { if (x == 0 && n == 0) { throw new IllegalArgumentException(); } // 指數正負標記 boolean isNegative = false; // 求n的絕對值 if (n < 0) { n = -n; isNegative = true; } double result = pow(x, n); if (isNegative) { return 1.0 / result; } else { return result; } } public double pow(double x, int n) { if (n == 0) { return 1; } else { double result = pow(x, n / 2); // n是奇數 if (n % 2 != 0) { return x * result * result; } else { return result * result; } } } }