JavaRush /Java Blog /Random-TW /如何在 Java 中求冪

如何在 Java 中求冪

在 Random-TW 群組發布
你好世界!即使對於經驗豐富的程式設計師來說,Google搜尋或在論壇上尋求幫助也是很常見的事情。但開發中的一些主題非常基礎和簡單,即使是新手也應該了解它們。這是這些主題之一。今天我們將討論 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