首页 > 代码库 > HDU 2067

HDU 2067

卡特兰数的例题了。

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[50];		Can[0]=new BigDecimal(1);		BigDecimal B,C,D,E;		for(int i=1;i<50;i++){			B=new BigDecimal(4*i-2);			C=new BigDecimal(i+1);			D=Can[i-1].multiply(B);			Can[i]=D.divide(C);		}		int kase=0;		E=new BigDecimal(2);		while(in.hasNext()){				kase++;			int x=in.nextInt();			if(x==-1)				break;			BigDecimal ans=Can[x].multiply(E);							System.out.println(kase+" "+x+" "+ans.toString());		}	}}

  

HDU 2067