题目描述:
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0。不得使用库函数,同时不需要考虑大数问题,也不用考虑小数点后面0的位数。
输入:
2.00000,3
输出
8.00000
解法1:
class Solution {
public:
double Power(double base, int exponent) {// 底数 指数
if(exponent==0) return 1.0;
if(base == 0.0) return 0.0; //保证不同时为0
bool flag=false;//判断指数是否为负
if(exponent < 0){
flag=true;
exponent*=-1;//如果为负数,则将指数转正
}
double res=base;
for(int i=2;i<=exponent;++i){
res*=base;//逐渐递乘
}
if(flag) return 1.0/res;
else
return res;
}
};