//面试题11:数值的整数次方
//题目:实现函数double Power(double base,int exponent),求base的exponent次方。
// 不得使用库函数,同时不需要考虑大数问题
//面试题11:数值的整数次方
//题目:实现函数double Power(double base,int exponent),求base的exponent次方。
// 不得使用库函数,同时不需要考虑大数问题
double Power(double base,int exponent)
{
const double dPrecision = 0.00000001;
if(base-0.0 < dPrecision && base-0.0 > -dPrecision && exponent < 0 )
{
return 0.0;
}
unsigned int nCount = (unsigned int)exponent;
if(exponent<0)
{
nCount = (unsigned int)(-exponent);
}
double dResult = 0.0;
for(int i=0;i<nCount;++i)
{
dResult *= base;
}
return (exponent>=0) ? dResult : (1.0/dResult);
}
ZhaiPillary
2016-12-24