JavaRush /Java 博客 /Random-ZH /如何在 Java 中求幂

如何在 Java 中求幂

已在 Random-ZH 群组中发布
你好世界!即使对于经验丰富的程序员来说,谷歌搜索或在论坛上寻求帮助也是很常见的事情。但开发中的一些主题非常基础和简单,即使是新手也应该​​了解它们。这是这些主题之一。今天我们将讨论Java中如何执行求幂。 如何在 Java 中进行求幂 - 1让我们想象一下,您收到了一项任务:找到一个达到一定程度的数字。听起来很简单,但是如何实施该解决方案呢?让我们看看最常见的方法和几种替代方法。在我们“深入”解决方案之前,让我们首先记住什么是数字的幂: 如何在 Java 中进行求幂 - 2幂是一个数字与其自身相乘多次的动作。相乘的数称为底数,相乘的次数称为指数。好吧,这种底数自乘的结果称为求幂。例如,对于 8,它是 2 的三次方,因为 2x2x2=8。计算一个数字的二次方表示我们将其变成两倍,通常这个幂称为平方幂。也就是说,4 的平方 = 4x4 = 16。所以,我们已经刷新了我们的记忆,现在我们直接转向在 Java 中使用 pow 的方法 - 一种求幂的方法。
  1. 数学战俘

    解决这个问题最简单的方法是使用 Math 类。这是您在大多数情况下都会使用的解决方案。

    如何在 Java 中求幂 - 3

    Math 类包含与三角学、几何学和数学其他方面相关的方法。其中,方法被实现为静态的,因此您可以通过Math类的名称立即调用它们,而无需创建类对象。

    求幂是什么样的:

    public static int pow(int value, int powValue) {
       return (int) Math.pow(value, powValue);
    }

    我们必须使用类型转换 (int),因为 Math 类的该方法返回 double 类型的值(参数也是 double,但使用了隐式类型转换)。

    现在 - 一个额外的好处:额外的选项。

  2. 数字的平方的值

    也许让我们从最简单的事情开始。

    平方方法的写法如下:

    public static int pow(int value){
       return value*value;
    }

    在主程序中调用:

    public static void main(String[] args) {
       System.out.println(Solution.pow(7));
    }

    仅此而已 - 没有什么复杂或不必要的。

  3. 数的幂

    但平方数并不是我们所需要的全部。在我们的工作中,大多数情况下我们会需要一定程度的数字,因此下面是一个稍微复杂的版本,但具有自定义的 java pow 值:

    public static void main(String[] args) {
       System.out.println(Solution.pow(7, 4));
    }
    
    public static int pow(int value, int powValue) {
       int result = 1;
       for (int i = 1; i <= powValue; i++) {
           result = result * value;
       }
       return result;
    }

    算法非常简单:我们设置起始点结果,然后将其与我们的值相乘,次数与 powValue 循环运行的次数相同(powValue 次数)

  4. 递归

    下一个方法会更奇特一些,但同样很酷。

    如何在 Java 中求幂 - 4

    递归是一种允许方法调用自身的功能。在Java中,存在这样的机制,因此这种方法被称为递归。

    许多(如果不是全部)算法问题都可以递归地解决。这个也不例外,所以让我们看一下如何以递归方式将数字提高到某个幂:

    public static int pow(int value, int powValue) {
       if (powValue == 1) {
           return value;
       } else {
           return value * pow(value, powValue - 1);
       }
    }

    正如我们所看到的,我们有两种情况:

    1. 退出递归的条件,或者换句话说,当我们的度值达到1时,我们将开始被抛回。
    2. 该机制本身用于将值乘以调用相同方法的结果,但使用 powValue - 1。

    好吧,现在是时候看看更懒的方法了,即“开箱即用”的方法。

  5. 大整数

    BigInteger 类的主要用途是存储任意大小的整数,但同时它具有各种算术方法,允许您处理这些巨大(或不太巨大)的数字。

    如何在 Java 中求幂 - 5

    您可以在本文中阅读有关 BigInteger 的更多信息。

    那么在 Java 中使用 BigInteger 求幂会是什么样子呢?

    public static int pow(int value, int powValue) {
       BigInteger a = new BigInteger(String.valueOf(value));
      return a.pow(powValue).intValue();
    }

    非常简单,没有任何问题,不是吗?

好了,这就是今天的全部内容!现在您了解了多种求幂的方法。同意,这不是一个困难的话题:)
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION