首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

怎么实现power

2013-07-20 
如何实现power?1.只用加减2.用recursioneg. power(2,3) 8[解决办法]逻辑大概是这样,divide方法没写,没

如何实现power?
1.只用加减
2.用recursion

eg. power(2,3) => 8 
[解决办法]
逻辑大概是这样,divide方法没写,没检查LZ写的divide方法是否正确,

public static double power(int x, int n) {
// 如果指数为0,返回1
if (n == 0) return 1;
// 如果指数为复数,返回power(x, -n)的倒数
if (n < 0)
return divide(1, power(x, -n));
// 存放结果的变量
double result = 0;
// 低次幂的值
double lower = power(x, n - 1);

// 如果数值大于0,相加x遍
if (x >= 0) {
for (int i = 0; i < x; i++) {
result += lower;
}
}
// 否则相减x遍
else {
for (int i = 0; i > x; i--) {
result -= lower;
}
}
return result;
}

供你参考^_^
[解决办法]
那可能是divide方法的问题,
我把return divide(1, power(x, -n));改为 return 1 / power(x, -n);

测试2,-43跟Math.pow()结果是一样的

热点排行