HDU1023(Catalan数)


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()]);
		}
	}
}


你可能感兴趣的:(HDU1023(Catalan数))