您的位置:首页 > 其它

[leetcode]Pow(x, n)

2014-01-03 01:45 369 查看
a^n = a^(n/2) * a(n/2)...二分

class Solution {
public:
double epow(double x,int n){
if(n == 0) return 1;
double tmp = epow(x , n / 2);
if(n % 2 == 1)
return tmp * tmp * x;
else return tmp * tmp;
}
double pow(double x, int n) {
if(abs(x - 0) < 1e-10) return 0;
if(n < 0) return 1/epow(x,-n);else
return epow(x,n);
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: