#include<stdio.h> #include<string.h> #include<math.h> #define MAX 1000000+10 #define Max(a,b) a>b?a:b #define Min(a,b) a<b?a:b int main() { /* 卡特兰数 f(2n)=(2*n)!/(n!(n+1)!) */ int n; while(scanf("%d",&n)!=EOF) { long long int a=1,b=1,c=1; int i,j,k; for(i=1;i<=n;i++) { a*=i; } for(j=1;j<=2*n;j++) { b*=j; } for(k=1;k<=n+1;k++) { c*=k; } printf("%lld\n",b/(a*c)); } } |
Double click to view unformatted code.