您的位置:首页 > 职场人生

【面试题11】数值的整数次方

2016-08-30 19:46 197 查看


题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

public class Solution {
public double Power(double base, int exponent) {
//幂为0的时候(2*0,-1*0)==1,此处*为幂运算的意思
if(exponent==0 && base!=0) return 1.0;
//底数为0的时候(0*0,0*2,0*-2)==0,此处*为幂运算的意思
if(base==0) return 0.0;

//根据幂的正负分类
double result=1.0;
for(int i=0;i<Math.abs(exponent);i++){
result*=base;
}

//幂大于0的时候直接返回结果;小于0的时候,返回结果的倒数;
return exponent>0?result:1/result;
}
}此处判断等于0的情况:

private boolean equal(double num1,double num2){
if((num1-num2)<0.0000001
&& (num1-num2)>-0.0000001)
return true;
return false;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: