剑指offer面试题11:数值的整数次方
2019-08-09 17:53
1006 查看
实现函数double Power(double base,int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题
1、底数为0,指数为负数的情况,无意义
2、指数为0,返回1
3、指数为负数,返回1.0/base,-exponent
4、指数为整数,base,exponent
5、同时考虑到判断double类型,计算机有误差,需要写一个专门的函数判断double类型数据是否相等
按照上面的条件,使用条件语句一个一个返回就行了
public class Test10 { public double Power(double base,int exponent){ double result = 0.0; if(equal(base,0.0) && exponent<0){ throw new RuntimeException("Invalid Input"); }else if (equal(exponent,0)){ return 1; }else if (exponent<0){ return powWithExponent(1.0/base,-exponent); }else{ return powWithExponent(base,exponent); } } private double powWithExponent(double v, int i) { double result = 1.0; for (int j = 0; j < i; j++) { result = result* v; } return result; } //判断两个double类型数据时,计算机有误差 private boolean equal(double base, double v) { if (base-v>-0.00000001&&base-v<0.00000001){ return true; }else { return false; } } }
相关文章推荐
- 剑指offer面试题11 数值的整数次方的Java代码实现
- 《剑指Offer》学习笔记--面试题11:数值的整数次方
- 数值的整数次方(剑指offer面试题11)
- 剑指offer面试题11——数值的整数次方
- 剑指Offer系列-面试题11:数值的整数次方
- 剑指offer-面试题11.数值的整数次方
- 剑指offer-面试题11:数值的整数次方
- 剑指offer-面试题11-数值的整数次方
- 《剑指offer》(面试题11):数值的整数次方
- 剑指offer面试题11:数值的整数次方
- 《剑指offer》面试题11:数值的整数次方
- 剑指offer-面试题11:数值的整数次方
- 剑指Offer:面试题11——数值的整数次方(java实现)
- 剑指offer之面试题11:数值的整数次方
- 《剑指Offer》面试题11:数值的整数次方
- (剑指Offer)面试题11:数值的整数次方
- 剑指Offer面试题11(Java版):数值的整数次方
- 面试题11. 数值的整数次方
- 剑指Offer面试题11[数值的整数次方]
- 【剑指offer】面试题11:数值的整数次方