简单的卡特兰数应用。
这篇总结得不错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]); } } }