您的位置:首页 > 其它

LeetCode题解:Pow(x,n)

2013-10-22 11:37 288 查看

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);
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: