数值的整数次方
2015-05-10 19:22
169 查看
题目:
实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大多数问题。
此题咋看非常easy,但是却很容易忽视底数为0以及指数为负数的情况,完整代码如下:
实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大多数问题。
此题咋看非常easy,但是却很容易忽视底数为0以及指数为负数的情况,完整代码如下:
//全局变量,当参数出错时返回true bool g_InvalidInput=false; //判断两个double型变量是否相等 bool isEqual(double n1, double n2) { if ((n1-n2>-0.000001)&&(n1-n2<0.000001)) { return true; } else { return false; } } //base的exponent次方,此函数的前提是base不为0,并且exponet不为负数 double unsignedPower(double base, int exponent) { double res=1; while(exponent--) { res*=base; } return res; } //完整的求base的exponent次方函数 double Power(double base, int exponent) { g_InvalidInput=false; if (isEqual(base,0.0)&&exponent<0) { g_InvalidInput=true; return 0.0; } unsigned int absExponent=(unsigned int)exponent; if (exponent<0) { absExponent=(unsigned int)(-exponent); } double result=unsignedPower(base,absExponent); if (exponent<0) { result=1.0/result; } return result; }
相关文章推荐
- 《剑指offer》——数值的整数次方
- (3)剑指Offer之数值的整数次方和调整数组元素顺序
- 数值的整数次方
- 数值的整数次方
- 程序员面试题精选100题(44)-数值的整数次方[算法]
- 牛客网 剑指offer-数值的整数次方
- 1514:数值的整数次方 @jobdu
- 面试题11:数值的整数次方
- c++之数值的整数次方
- 面试题11 数值的整数次方
- 第2天 数值的整数次方
- 剑指offer之数值的整数次方
- 九度OJ 1514 数值的整数次方【算法】
- [剑指offer]数值的整数次方
- 数值的整数次方
- 剑指offer:数值的整数次方
- 数值的整数次方
- 算法:数值的整数次方
- 剑指offer-11 数值的整数次方
- [剑指Offer] 12.数值的整数次方