HDU 1130
简单的卡特兰数应用。
这篇总结得不错http://daybreakcx.is-programmer.com/posts/17315.html
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;
import java.io.InputStreamReader;
public class Main{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
BigDecimal []Can=new BigDecimal[101];
Can[0]=new BigDecimal(1);
BigDecimal B,C,D;
for(int i=1;i<=100;i++){
B=new BigDecimal(4*i-2);
C=new BigDecimal(i+1);
D=Can[i-1].multiply(B);
Can[i]=D.divide(C);
}
while(in.hasNext()){
int x=in.nextInt();
System.out.println(Can[x]);
}
}
}

浙公网安备 33010602011771号