zoukankan      html  css  js  c++  java
  • 12.数值的整数次方 Java

    题目描述

    给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

    这道题看似简单,其实BUG重重。要注意的问题:

      1 关于次幂的问题特殊的情况,比如次幂为负数,或者基数为0时等等复杂的情况

      2 机器中浮点数的比较是有误差的,因此double类型的比较,不能用简单的a==0来比较。一般的比较方式是,相减的差在一个很小的区间内,我们就认为是相等的。

    public static double power(double base, int exponent) {
    double mul = 1.0;
    /* 如果exponent = 0 输出1 */
    if (exponent == 0) {
    return 1.00000;
    }
    /* 如果base = 0 输出0 */
    if (base >= -0.000001 && base <= 0.000001) {
    return 0;
    }
    /* 如果指数大于0 */
    if (exponent > 0) {
    for (int index = 0; index < exponent; index++) {
    mul *= base;
    }
    } else {
    exponent = -exponent;
    for (int index = 0; index < exponent; index++) {
    mul *= base;
    }
    mul = 1.0 / mul;
    }
    return mul;
    }
  • 相关阅读:
    Pandas系列
    Pandas快速入门
    Pandas数据结构
    机器学习三剑客之Matplotlib
    机器学习三剑客之Pandas
    机器学习三剑客之Numpy
    NumPy IO文件操作
    NumPy使用 Matplotlib 绘制直方图
    nyoj 37 回文字符串
    判断一个字符串是不是回文串
  • 原文地址:https://www.cnblogs.com/feicheninfo/p/10529594.html
Copyright © 2011-2022 走看看