牛客网刷题(JAVA) 12:数值的整数次方

难度系数 ⭐

时间限制 C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M

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

保证base和exponent不同时为0

思路 全面考察指数。浮点类型的整数次幂可以分为6种情况:

  exponent<0 exponent=0 exponent>0
base=0 报错 无意义 0
base!=0 常规计算 1 常规计算
package nowcoder;

public class No12 {
    public static double Power(double base, int exponent) {
        double result = 1.0;
        if (base != 0 && exponent < 0){
            for (int i = 0; i < -exponent; i++)
                result *= base;
            return  1 / result;
        } else if (base != 0 && exponent == 0) {
            return 1.0;
        } else if (base != 0 && exponent > 0){
            for (int i = 0; i < exponent; i++)
                result *= base;
            return result;
        } else
            return 0;
    }

    public static void main(String[] args){
        System.out.println(Power(2.0, 3));
    }
}
发布了149 篇原创文章 · 获赞 36 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/Dorothy_Xue/article/details/105460166