
3 4
4 9
卡塔兰数。c[n] = 2n! / ((n+1)! n!) = c(2n, n) / (n + 1)
a[k] = a[k-1] * (n - 2 * k + 1) * (n - 2 * k + 2) / (k * (k + 1));
由于数据比较大,所以采用java实现比较方便。
代码:
import java.util.*;
import java.math.*;
import java.io.*;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
BigInteger sum,t;
while (input.hasNext()) {
int n = input.nextInt();
sum = t = BigInteger.ONE;
for (int k = 1; k <= n / 2; k++) {
t = t.multiply(BigInteger.valueOf((n - 2 * k + 1) * (n - 2 * k + 2))).divide(BigInteger.valueOf(k * (k + 1)));
sum = sum.add(t);
}
System.out.println(sum.mod(BigInteger.TEN.pow(100)));
}
}
}
原文:http://blog.csdn.net/xianxingwuguan1/article/details/22917093