Java 中的遞迴階乘方法


任何非負整數的階乘基本上都是小於或等於該整數的所有整數的乘積。階乘可以使用遞迴方法獲取。

下面展示了一個演示此功能的程式

示例

 動態演示

public class Demo {
   public static long fact(long n) {
      if (n <= 1)
         return 1;
      else
         return n * fact(n - 1);
   }
   public static void main(String args[]) {
      System.out.println("The factorial of 6 is: " + fact(6));
      System.out.println("The factorial of 0 is: " + fact(0));
   }
}

輸出

The factorial of 6 is: 720
The factorial of 0 is: 1

現在讓我們瞭解一下上面的程式。

fact() 方法計算一個數字 n 的階乘。如果 n 小於或等於 1,則返回 1。否則,它將遞迴地呼叫自身並返回 n * fact(n - 1)。下面的程式碼片段演示了這一點

public static long fact(long n) {
   if (n <= 1)
      return 1;
   else
      return n * fact(n - 1);
}

在 main() 中,fact() 方法使用不同的值被呼叫。下面的程式碼片段演示了這一點

public static void main(String args[]) {
   System.out.println("The factorial of 6 is: " + fact(6));
   System.out.println("The factorial of 0 is: " + fact(0));
}

更新於: 30-7-2019

5000+ 次瀏覽

開始你的 事業

透過完成課程獲取認證

開始使用
廣告
© . All rights reserved.