Pow(x, n)
Implement pow(x, n).
思路:
1. 直接循环求解,最简单的方法
2. 分而治之,可以减少一半的乘法。
3. 如果n可能是浮点数的话,要考虑用对数运算。
题解:
class Solution { public: double pow_proc(double x, int n) { double p; switch(n) { case 0: return 1; case 1: return x; default: p=pow_proc(x, n/2); if ((n & 1) == 0) return p*p; else return p*p*x; } } double pow(double x, int n) { if (n < 0) return 1.0/pow_proc(x, -n); else return pow_proc(x, n); } };