http://acm.sdibt.edu.cn:8080/judge/contest/view.action?cid=316#problem/I
此题的结果正好是卡特兰数,因此我用的是卡特兰数项通式来求解

#include <stdio.h>
double fact(int k){//求阶乘
    int i;
    double s=1;
    for(i=1;i<=k;i++)
        s*=i;
    return s;
}
int main(){
    int n;
    scanf("%d",&n);
    printf("%.0lf",fact(2*n)/((n+1)*fact(n)*fact(n)));
    return 0;
} 

发表评论

电子邮件地址不会被公开。

Post Navigation