代码实现:
方法一:常规解法——超时
double myPow(double x, int n) { if (n == 0) { return 1.0; } if (x == 1.0) { return x; } double num = x; if (n > 0) { for (int i = 1; i < n; i++) { num = num * x; } } else { n = -n; for (int i = 1; i < n; i++) { num = num * x; } num = 1 / num; } return num; }
二分法经典应用:快速幕
方法二:递归
方法三:迭代