题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
//指数分大于0和小于0的情况讨论即可
double Power(double base, int exponent) {
if(exponent==0)return 1;
else if(exponent==1)return base;
else if(exponent>0)
{
vector<double> vec(exponent,0);
vec[0]=base;
for(int i=1;i<exponent;++i)
{
vec[i]=vec[i-1]*base;
}
return vec[exponent-1];
}
else
{
//如果base比较接近于0,这里会溢出,所以最好写一个异常处理
return 1.0/Power(base,-exponent);
}
}