hdu-1131(卡特兰数+大数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1131
思路:R(x)=h(x)*n!=C(n,2*n)*n!=A(n+2,n*2);
#include<iostream> #include<cstdio> #include<cstring> using namespace std; const int maxn = 1000; int i,j,n,a[maxn+10]; int main(void) { while(~scanf("%d",&n)&&n) { memset(a,0,sizeof(a)); a[0]=1; for(i=n+2;i<=2*n;i++) { for(j=0;j<1000;j++) a[j]*=i; for(j=0;j<1000;j++) { if(a[j]>=10) { a[j+1]+=a[j]/10; a[j]%=10; } } } for(i=1000;i>0&&a[i]==0;i--) ; for(;i>0;i--) printf("%d",a[i]); printf("%d\n",a[i]); } return 0; }