数值的整数次方
来源:互联网 发布:广州淘宝代运营诈骗 编辑:程序博客网 时间:2024/05/24 05:03
问题描述:实现函数double power(double base,int exponent),求base的exponent次方。不能使用库函数,同时不需要考虑大数问题
public class Power { /* * 问题描述: 实现函数double power(double base,int exponent),求base的exponent * 次方。不能使用库函数,同时不需要考虑大数问题。 */ /** * @param args */ public double power(double base, int exponet) throws Exception { double result = 0.0; if (equals(base, 0) && (exponet < 0)) { throw new Exception("0的负数次幂无意义"); } if (exponet == 0) { return 1.0; } if (exponet < 0) { result = powerWithUnsignedExponent(base, -exponet); } else { result = powerWithUnsignedExponent(base, exponet); } return result; } private double powerWithUnsignedExponent(double base, int exponet) { double result = 1.0; for (int i = 1; i <= exponet; i++) { result = result * base; } return result; } // 由于计算机中表示小数都有误差,不能用等号判断两个小数是否相等。如果两个小数的差的绝对值很小 // 我们就可以认为它们是相等的 private boolean equals(double number1, int number2) { if ((number1 - number2 > -0.00000001) && (number1 - number2) < 0.00000001) { return true; } return false; } // 写测试:把底数和指数分别设置成正数、负数、0; public static void main(String[] args) throws Exception { Power test = new Power(); System.out.println(test.power(2, 3)); System.out.println(test.power(2, 0)); System.out.println(test.power(2, -2)); System.out.println(test.power(0, 3)); System.out.println(test.power(0, 0)); System.out.println(test.power(0, -2)); }}
阅读全文
0 0
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- MySQL学习(四)【MySQL应用优化】
- Java读取XML文件的内容
- Windows下使用GetOpt函数使用
- TypeError: __init__() got an unexpected keyword argument 'shape'
- linux 内存管理的slab机制分析
- 数值的整数次方
- 安卓的模板设计模式
- 4.Less混合(mixins)
- mysql数据库中decimal类型详解
- 用系统用户登录Oracle
- Linux下BMP格式文件的保存问题
- 深入分析HTTP状态码502(nginx+php-fpm)
- Android-NDK-之Hello-World
- 数据结构与算法总结