x的n次幂
题目
实现 pow(x,n)
注意事项 不用担心精度,当答案和标准输出差绝对值小于1e-3时都算正确
样例
Pow(2.1, 3) = 9.261 Pow(0, 1) = 0 Pow(1, 0) = 1
题解
用二分法优化累计相乘的过程。
public class Solution {
/**
* @param x the base number
* @param n the power number
* @return the result
*/
public double myPow(
double x,
int n) {
if (n <
0)
{
x =
1/x;
n = -n;
}
if (n ==
0)
{
return 1;
}
else if (n ==
1)
{
return x;
}
else if (n %
2 ==
0)
{
return myPow(x, n/
2) * myPow(x, n/
2);
}
else
{
return x * myPow(x, n/
2) * myPow(x, n/
2);
}
}
}
Last Update 2016.11.17
转载请注明原文地址: https://ju.6miu.com/read-676693.html