Java 中的卡特蘭數


根據二項式係數,第 n 個卡特蘭數經由公式計算:

其中 k 從 2 到 n 變化,且 n ≥ 0。即

Cn = (2n)!/((n+1)!n!)

程式

public class CatalanNumbers {
   public static long fact(int i) {
      if(i <= 1) {
         return 1;
      }
      return i * fact(i - 1);
   }
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter a number :");
      int num = sc.nextInt();
     
      //(2n)!/(n+1)!*n!
      for(int i = 0; i<=num; i++) {
         long Cn = (fact(2*i))/(fact(i+1)*fact(i));
         System.out.println("C"+i+": "+Cn);
      }
   }
}

輸出

Enter a number :
7
C0: 1
C1: 1
C2: 2
C3: 5
C4: 14
C5: 42
C6: 132
C7: 429

更新於: 25-Jun-2020

511 次瀏覽

開始你的 職業生涯

完成課程,獲得認證

開始
廣告