Catanlan数维基百科:http://zh.wikipedia.org/zh/%E5%8D%A1%E5%A1%94%E5%85%B0%E6%95%B0
hdu1023 题意:一堆火车以严格的顺序到一个站里,问出来的时候有多少种顺序。
C[0] = 1
C[n] = C[n-1]*(4*n-2)/(n+1)
import java.math.*; import java.io.*; import java.util.*; public class Main { public static void main(String [] args){ Scanner cin = new Scanner(System.in); BigInteger a[] = new BigInteger[101]; a[0] = BigInteger.ONE; for(int i=1; i<=100; ++i){ a[i] = a[i-1].multiply(BigInteger.valueOf(4*i-2)).divide(BigInteger.valueOf(i+1)); } while(cin.hasNext()){ System.out.println(a[cin.nextInt()]); } } }