HDU 1023 卡特兰数

参见《组合数学》第八章 特殊计数序列 P185,因为涉及到大数,所以用java 处理起来比较方便

import java.util.*;
import java.io.*;
import java.math.*;
public class Main 
{

    public static void main(String[] args)
    {
        BigInteger []h=new BigInteger[101];
        h[0]=new BigInteger("1");
        h[1]=new BigInteger("1");
        for(int i=2;i<=100;i++)
        {
            h[i]=BigInteger.valueOf(4).multiply(BigInteger.valueOf(i)).subtract(BigInteger.valueOf(2)).multiply(h[i-1]).divide(BigInteger.valueOf(i+1));
        }
        Scanner cin=new Scanner(System.in);
        int N;
        while(cin.hasNext())
        {
            N=cin.nextInt();
            System.out.println(h[N].toString());
        }

    }

}

posted on 2011-07-26 11:25  lonelycatcher  阅读(257)  评论(0编辑  收藏  举报

导航