Sword to Offer-16 数值的整数次方 ❀
in Algorithm
- 题目描述:
给定一个double
类型的浮点数base
和int
类型的整数exponent
。求base
的exponent
次方。 保证base
和exponent
不同时为0
解题思路:
主要考察数学上的分类情况
1、底数为0
:0
的0
次方无意义,0
的非0
次方为0
;
2、底数非0
:先按正数进行连乘计算次方,若为负数的次方,则需要求倒数。
问题图解:

AC代码:
// Number's Integer Power
public class Solution {
public double Power(double base, int exponent) {
if (base==0) {
if (exponent==0) {
return -1; //0的0次方无意义
}
else {
return 0; //0的非0次方等于0
}
}
double res = 1; //res为最终结果,初始值为1
boolean minus = false; //指示次方是否为负数
if (exponent<0) {
minus = true;
exponent = -exponent;
}
while (exponent>0) {
res = res * base;
exponent--;
}
return minus ? 1/res : res;
}
}
补充说明:
- 这里是牛客编码链接