您的位置:首页 > Web前端

剑指offer 11. 数值的整数次方

2017-05-15 15:18 288 查看
// 题目:数值的整数次方
// 解法:判断exp正负,采用递归的计算操作计算无符号的整数次方
public class Main {

public static void main(String[] args) {

System.out.println(powerWithBase(2,-8));
}

public static double powerWithBase(double base, int exp){
int e = 0;
if(exp < 0){
e = -exp;
}
double result = powerWithBaseHelper(base,e);
if(exp < 0){															//判断exp正负号做相应的处理
result = 1/result;
}
return result;
}

public static double powerWithBaseHelper(double base, int exp){				//采用递归的方式进行计算
if(exp == 0){
return 1;
}
if(exp == 1){
return base;
}
double result = powerWithBaseHelper(base, exp/2);
result = result * result;
if((exp & 1) == 1){
result = result * base;
}
return result;
}

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