首页 > 其他 > 详细

hdu1023

时间:2017-01-12 13:06:28      阅读:237      评论:0      收藏:0      [点我收藏+]

#include <stdio.h>
#include <string.h>
#define BASE 10000
#define PFMT "%04d"
#define MAX 105

void print_bn(int*a, int l)
{
int i;
for(i=l-1;i>0;i--)if(a[i]>0)break;
printf("%d",a[i--]);
for(;i>=0;i--)
{
printf(PFMT,a[i]);
}
}

void mul_sgl(int* a, int l, int b, int* out)
{
int i,s;
s=0;
for(i=0;i<l;i++)
{
s=a[i]*b+s;
out[i]=s%BASE;
s/=BASE;
}
}

void div_sgl(int* a, int l, int b, int* out)
{
int i,s;
s=0;
for(i=l-1;i>=0;i--)
{
s=s*BASE+a[i];
out[i]=s/b;
s=s%b;
}
}

void zero(int* a, int l)
{
int i;
for(i=0;i<l;i++)
{
a[i]=0;
}
}

int main(void)
{
int h[101][MAX],i;
zero(h[0],MAX);
zero(h[1],MAX);
h[0][0]=1;
h[1][0]=1;
for(i=2;i<=100;i++)
{
zero(h[i],MAX);
mul_sgl(h[i-1],MAX,4*i-2,h[i]);
div_sgl(h[i],MAX,i+1,h[i]);
}
while(scanf("%d",&i)!=EOF)
{
print_bn(h[i],MAX);
printf("\n");
}
return 0;
}

hdu1023

原文:http://www.cnblogs.com/wangkun1993/p/6275697.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!