标签:
Implement pow(x, n).
幂运算,简单的方法snag然很好实现,直接循环相乘就可以了,但是这里应该不是那种那么简单,我的做法使用到了一点递归:
1 class Solution { 2 public: 3 double myPow(double x, int n) { 4 if(n == INT_MIN) 5 return 1.0* x/myPow(x, INT_MAX); 6 if(n < 0) 7 return 1.0/myPow(x, -n); 8 else if(n == 0) 9 return 1.0; 10 double halfRes = myPow(x, n/2); 11 if(n%2) 12 return halfRes * halfRes * x; 13 return halfRes * halfRes; 14 } 15 };
这里有个注意点就是考虑到INT_MIN的情况,做出相应的处理
标签:
原文地址:http://www.cnblogs.com/-wang-cheng/p/4876498.html