您的位置:首页 > 其它

数值的整数次方

2015-06-23 21:12 295 查看
package java_study.JianZhiOffer;

import org.junit.Test;

/**
* Created by ethan on 2015/6/23.
* 剑指offer中No11 数值的整数次方
* 注意: base在指数为负数的时候是不能为0的, 不要忽略指数为负数的情况
*/
public class No11数值的整数次方 {
public double power(int base, int exp){
if (base==0 && exp<=0) return 0.0; // 0不能为底数,不处理为抛出异常
if (exp<0) return 1/power(base, -exp);
if (exp==1) return base;
if (exp==0) return 1;
double tmp = power(base, exp/2);
double ans = tmp*tmp;
if ((exp&1)==1){
ans *= base;
}
return ans;
}
@Test
public void test(){
System.out.println(power(3, 5));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数值的整数次方