题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
分析
本题需要注意, 指数部分只说明是整数,所以要同时考虑正整数和负整数的情况。
C++代码如下:
doule Power(double base,int exponent){
int aex = abs(exponent);
vector<double> f(aex+1,1.0);
int flag = exponent>0?1:-1;
if(exponent==0) return f[0];
f[0] = 1;
if(exponent == 1) return base;
f[1] = base;
for(int i = 2;i<aex;i++){
f[i] = f[i-1]*f[1];
}
if(flag > 0) return f[aex];
else return 1/f[aex];
}