日期:2014-05-18 浏览次数:20775 次
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;
}