java如何用遞歸方法求階乘

java 用遞歸方法求階乘

一個正整數的階乘,是所有不大於該數的正整數的積,並且0的階乘為1,n的階乘寫作n!,由1808年基斯頓·卡曼(Christian Kramp,1760~1826)引進這個表示法。

java代碼:

//用遞歸方法求階乘
public class Factorial{
    public static void main(String[] args){
        int N = 5;
        for(int n = 0; n <= N; n++){
            int fact = factorial(n);
            System.out.println(n + " 的階乘值是: " + fact);
        }               
    }
    public static int factorial(int n){
        if(n < 1)
            return 1;       
        return factorial(n-1) * n;
    }
}

輸出:

0 的階乘值是: 1
1 的階乘值是: 1
2 的階乘值是: 2
3 的階乘值是: 6
4 的階乘值是: 24
5 的階乘值是: 120

Java 用遞歸計算1~N階乘的值

Java中使用遞歸計算1~N階乘的值

public class test {
 // 求階乘的方法
 public static int factorial (int m) {
  if (m == 1) {
   // 這裡要記住,return的是factorial方法,而不是結束執行if方法。
   return 1;
  }
  return m * factorial(m - 1);
 }
 
 public static void main(String[] args) {
  int n = N;
  System.out.println(factorial(n));
 }
}

Java中使用遞歸計算1~10階乘的值(這裡將數值代入的話更好理解)

public class test {
 // 求階乘的方法
 public static int factorial (int m) {
  if (m == 1) {
   // 這裡要記住,return的是factorial方法,而不是結束執行if方法。
   return 1;
  }
  return m * factorial(m - 1);
 }
 
 public static void main(String[] args) {
  int n = 10;
  System.out.println(factorial(n));
 }
}

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: