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
广告