在喵呜的csdn刚好看到了,然后就就做了
百度百科——卡特兰数
特别大,c++要用高精度,所以用的java
import static java.lang.System.out;
import java.util.*;
import java.io.*;
import java.math.BigInteger;
public class Main{
public static void main(String[] args){
BigInteger[] n = new BigInteger[110];
for(int i=1;i<=100;i++){
n[i]=new BigInteger("1");
}
for(int i=2;i<=100;i++)
{
int a=(4*i-2);
n[i]=n[i].multiply(n[i-1]);
BigInteger c = new BigInteger(((Integer)a).toString());
n[i]= n[i].multiply(c);
int b=(i+1);
c=new BigInteger(((Integer)b).toString());
n[i]= n[i].divide(c);
}
Scanner in = new Scanner(System.in);
int i;
while(in.hasNext())
{
i=in.nextInt();
System.out.println(n[i]);
}
}
}