1. 题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0。
题目分析:
- 计算a的b次方,for循环,循环b个a相乘。
- 当底数为0的时候,当指数为0的时候处理办法
- 指数可以都设置为正数,当指数为正数的时候,则为原来的到的结果集。否则为结果集的倒数
2. 代码实现
public class Solution {
public double Power(double base, int exponent) {
/*
求浮点数的整数次方,例如:2.5的2次方是6.25
*/
// 判断底数的值,
if(base == 0.0){
return 0.0;
}
//当指数为0的时候,结果为1
double result = 1.0d;
//整数有正数和负数,需要判断下,对指数限制
int e = exponent > 0 ? exponent : -exponent;
//根据指数大小判断返回结果的值
for(int i = 1;i <= e;i++){
result *= base;
}
// 根据指数的正负数,返回结果。
return exponent > 0 ? result : 1 / result;
}
}
3. 总结
- 注意对指数的处理:指数是正整数或者是负整数
- 结果集,负数的结果集是结果集的倒数