hdu 1023 Train Problem II

来源:互联网 发布:ubuntu16 apache 安装 编辑:程序博客网 时间:2024/04/28 05:21

链接:点击打开链接

特殊的数(CatalanNumber)

#include<iostream>using namespace std;int a[101][101],b[101];void Catalan()  {      int i,j,len,carry,temp;    a[1][0]=b[1]=1;    len=1;    for(i=2;i<=100;i++)    {     for(j=0;j<len;j++)         a[i][j]=a[i-1][j]*(4*(i-1)+2);     carry=0;     for(j=0;j<len;j++)     {      temp=a[i][j]+carry;      a[i][j]=temp%10;      carry=temp/10;     }     while(carry)     {       a[i][len++]=carry%10;       carry/=10;     }     carry=0;     for(j=len-1;j>=0;j--)     {       temp=carry*10+a[i][j];       a[i][j]=temp/(i+1);       carry=temp%(i+1);     }     while(!a[i][len-1])         len--;     b[i]=len;    }  }         int main(){  int n,j;  Catalan();  while(cin>>n)  { for(j=b[n]-1;j>=0;j--)   printf("%d",a[n][j]); printf("\n");  }  return 0;}


原创粉丝点击