64,654
社区成员
发帖
与我相关
我的任务
分享
#include"stdio.h"
int a[101];
int main()
{
int n,i,j,r1,r2,t,len;
while(scanf("%d",&n)==1)
{
for(i=0;i<=101;i++)
a[i]=0;
a[1]=1;len=1;
for(i=2;i<=n;i++)
{
t=i-1;
for(j=1,r1=0;j<=len;j++) /*乘*/
{
a[j]=a[j]*(4*t+2)+r1;
r1=a[j]/10;
a[j]=a[j]%10;
}
while(r1)
{
len++;
a[len]=r1%10;
r1=r1/10;
}
for(j=len,r2=0;j>0;j--){ //除
a[j]=10*r2+a[j];
r2=a[j]%(t+2);
a[j]=a[j]/(t+2);
}
while(!a[len]) //前导0的处理
len--;
}
for(i=len;i>0;i--)
printf("%d",a[i]);
printf("\n");
}
return 0;
}