zoukankan      html  css  js  c++  java
  • 剑指Offer(Java版)第十四题:给定一个double类型的浮点数base和int类型的整数exponent。 求base的exponent次方。不得使用库函数,不需要考虑大数问题。

    /*
    给定一个double类型的浮点数base和int类型的整数exponent。
    求base的exponent次方。不得使用库函数,不需要考虑大数问题。
    注意事项:不能用==比较两个浮点数是否相等,因为有误差。考虑输入值的多种情况。
    */
    public class Class14 {

    public double Power(double base, int exponent){
    double result = 0;
    if(Equals(base,0)){
    return 0.0;
    }
    if(Equals(exponent,1)){
    return 1.0;
    }
    if(exponent > 0){
    result = Culculate(base, exponent);
    }else if(exponent < 0){
    result = Culculate(1/base, -exponent);
    }
    return result;
    }

    public double Culculate(double base, int exponent){
    double sum = 1.0;
    for(int i = 1; i <= exponent; i++){
    sum = sum * base;
    }
    return sum;
    }

    public boolean Equals(double n1, double n2){
    if((n1 - n2 < 0.00000001) && (n1 - n2 > -0.00000001)){
    return true;
    }else{
    return false;
    }
    }

    public void test1(){
    double base = 2.0;
    int exponent = 3;
    System.out.println(Power(base,exponent));
    }

    public void test2(){
    double base = 3.0;
    int exponent = 4;
    System.out.println(Power(base,exponent));
    }

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Class14 c = new Class14();
    c.test1();
    c.test2();
    }

    }

  • 相关阅读:
    css3 边框、背景、文本效果
    Java JDBC连接MYSQL数据库教程
    waf平台常用方法总结
    java比较两个日期大小
    js控制的弹出层
    js时间大小判断写法demo
    PL/SQL Developer技巧
    杀Oracle死锁进程方法
    查看oracle数据库的连接数以及用户
    Oracle分散问题记录
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12449209.html
Copyright © 2011-2022 走看看