美文网首页
N次方实现

N次方实现

作者: A邱凌 | 来源:发表于2019-10-25 13:52 被阅读0次

N次方实现

题目描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0


    public class NthPower {
    /*
     * 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
     * 保证base和exponent不同时为0
     */
    public static void main(String[] args) {
        System.out.println("Power(2,1)" + Power(2, 1));
        System.out.println("Power(2,2)" + Power(2, 2));
        System.out.println("Power(2,3)" + Power(2, 3));
        System.out.println("Power(2,4)" + Power(2, 4));
        System.out.println("Power(2,-1)" + Power(2, -1));
        System.out.println("Power(2,-2)" + Power(2, -2));
    }

    /*
    * 思路:a的N次方,第一种方法是用递归直接实现,但是这样其实栈太长了
    * 这边稍微优化了一下,a的N次方 = a的n/2次方 * a的n/2次方
    * 再考虑一下奇偶的情况,就比之前的递归效率快了一半
    * */
    public static double Power(double base, int exponent) {
        if (exponent < 0) {
            base = 1 / base;
            exponent = -exponent;
        }
        if (exponent == 0) {
            return 1;
        }
        if (exponent == 1) {
            return base;
        }
        double result = 1;
        if ((exponent & 1) == 0) {
            //偶数
            result = Power(base, exponent >> 1);
            result *= result;
        } else {
            result = Power(base, exponent >> 1);
            result *= result;
            result *= base;
        }
        return result;
    }
}

相关文章

  • N次方实现

    N次方实现 题目描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的ex...

  • 50. Pow(x, n)

    Implement pow(x, n).实现x的n次方。利用x^n = x^(n/2) * x^(n/2) *x^...

  • 关于算法的时间复杂度的排序

    O(1)

  • C语言中的平方,开根号

    C语言中的平方 库函数表达方法,X的n次方pow(X,n)X 代表代入的n次方数值n 代表代入的n次方pow(...

  • 50. Pow(x, n)

    题目描述 Implement pow(x, n).实现x的n次方计算 问题分析 暴力求解 考虑极端输入:2.1 结...

  • PTA-2017实验2.4 函数

    6-1 简单实现x的n次方(10 分)本题要求实现一个计算xn(n≥0)的函数。函数接口定义:double myp...

  • nextPowOf2

    实现一个函数,给定一个值 n, 找到一个数字p, 大于或等于n且是2的幂次方实现如下 复杂度 lg(n)

  • 那些容易被忽视的数学常识

    一、a 的 n 次方的理解(a^n) 我们都知道,10的 n 次方就是 n 个 10 相乘,那么 10^0 或者 ...

  • N次方

    沉下心来,没有什么技巧,唯有踏踏实实的做事情。越急越乱,最终只会手忙脚乱!做加法没有乘法快,做乘法没有N次方快!自...

  • N次方

    1. 认识恩恩的时候我们才十六岁。恩恩说世界是N的N次方,有无限的可能,这是个玄妙而难以解释的话,但他自己很好的诠...

网友评论

      本文标题:N次方实现

      本文链接:https://www.haomeiwen.com/subject/hiusvctx.html