HDU1131 Java大数

题意:卡特兰数+n!

java!

View Code
 1 import java.math.BigInteger;
 2 import java.util.*;
 3 
 4 public class HDU1131{
 5     public static void main( String args[] ){
 6         int n;
 7         Scanner cin=new Scanner(System.in);
 8         BigInteger h[]=new BigInteger[ 105 ];
 9         h[ 0 ]=h[ 1 ]=BigInteger.ONE;
10         for( int i=2;i<=100;i++ ){
11             h[ i ]=BigInteger.ZERO;
12             for( int j=0;j<i;j++ ){
13                 h[ i ]=h[ i ].add(h[ j ].multiply( h[ i-1-j ] ));
14             }
15         }//Catalan number
16         BigInteger fac[]=new BigInteger[ 105 ];
17         fac[ 1 ]=BigInteger.ONE;
18         for( int i=2;i<=100;i++ )
19             fac[ i ]=fac[ i-1 ].multiply( BigInteger.valueOf(i) );//n!
20         while( cin.hasNext() ){
21             n=cin.nextInt();
22             if( n==0 ) break;
23             System.out.println( fac[n].multiply(h[n]));
24         }    
25     }
26 }
keep moving...
原文地址:https://www.cnblogs.com/xxx0624/p/2909862.html