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