首页 > 其他 > 详细

hdu1042

时间:2017-01-15 22:42:00      阅读:242      评论:0      收藏:0      [点我收藏+]

#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#define N 10000
int a[N];
int main()
{
int i,j,n,len;
while(scanf("%d",&n)!=-1)
{
memset(a,0,sizeof(a)); //初始化数组
a[0]=1; //注意:0!=1
len=1; //刚开始数组长度为一
for(i=1;i<=n;i++)
{
a[0]*=i;
for(j=1;j<len;j++)
{
a[j]*=i;
a[j]+=a[j-1]/N;
a[j-1]%=N;
}
while(a[len-1]>=N)
{
a[len]=a[len-1]/N;
a[len-1]%=N;
len++;
}
}
printf("%d",a[len-1]);
for(i=len-2;i>=0;i--)
printf("%04d",a[i]); //每个数组元素均应该占4位,不够的前面补零。
printf("\n");
}
return 0;
}

hdu1042

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

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