您的位置:首页 > Web前端

《剑指offer》——数值的整数次方

2015-12-22 20:14 295 查看
不考虑大数问题,

double Power(double base, int exponent) {
//如果底数为0,且幂方为负数
//注意浮点型判定相等不能直接使用==
if(base - 0.0 > -0.0000001 && base - 0.0 < 0.0000001 && exponent < 0)
return 0;
if(base == 1 || exponent == 0)//如果底数为1,或幂方为0
return 1;
if(exponent == 1)//如果幂方为1,直接返回底数
return base;
double result;
if(exponent < 0)//如果幂方为负数
{
exponent = (unsigned int)(- exponent);//负数取其绝对值
result = 1.0;
for(int i = 0; i < exponent; i++)
{
result *= base;
}
result = 1.0 / result;
}
else
{
result = 1.0;
for(int i = 0; i < exponent; i++)
{
result *= base;
}
}
return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: