剑指offer_【12】数值的整数次方

1.题目描述

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

2.解题思路

  • (1)exponent > 0,如2^3,则可以直接运算得出结果

  • (2)exponent < 0,如2^-3,则结果为(1/2)^3

  • (3)exponent = 0,如2^0,则结果为1

3.代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class  {
public double Power(double base, int exponent) {

if(exponent<0){
return powCal(1.0/base,-1*exponent);
}else if(exponent>0){
return powCal(base,exponent);
}else{
return 1;
}
}


public double powCal(double base, int exponent) {
double res = 1;
for(int i = 0;i<exponent;i++){
res = res*base;
}
return res;
}
}