hdu1023 出栈卡特兰数 first java(大整数乘法)

卡特兰数:

a[0]=0; a[1]=1;

a[i]=a[i-1]*(4*i-2)/(i+2);

抄来的java大数,以后慢慢学。

 1 import java.io.*;
 2 import java.util.*;
 3 import java.math.BigInteger;
 4 
 5 public class Main {
 6     public static void main(String args[])
 7     {
 8         BigInteger[] a=new BigInteger[101];
 9         a[0]=BigInteger.ZERO;
10         a[1]=BigInteger.valueOf(1);
11         for (int i=2;i<=100;i++)
12             a[i]=a[i-1].multiply(BigInteger.valueOf(4 * i - 2)).divide(BigInteger.valueOf(i+1));
13         Scanner in=new Scanner(System.in);
14         int n;
15         while (in.hasNext())
16         {
17             n=in.nextInt();
18             System.out.println(a[n]);
19         }
20     }
21 }

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1023

 

posted on 2014-12-30 01:02  xiao_xin  阅读(125)  评论(0编辑  收藏  举报

导航