/*
Name:计算n(<1000)的阶乘,大数
Actor:HT
Time:2015年6月7日
*/
#include"stdio.h"
#include"string.h"
#define N 3000
int f[N];
int main()
{
int i,j,n;
int c; //进位计数
scanf("%d",&n);
memset(f,0,sizeof(f));
//开始运算
f[0]=1;
for(i=2;i<=n;i++)
{
c=0;
for(j=0;j<N;j++)
{
f[j]=f[j]*i+c;
c=f[j]/10;
f[j]%=10;
//printf("%d %d %d\n",f[j],i,c);
}
}
for(i=N-1;i>=0;i--)
if(f[i]!=0) break; //去除前导0
for(;i>=0;i--)
printf("%d",f[i]);
printf ("\n");
}
[ACM_practice]不超过1000的阶乘
最新推荐文章于 2022-01-09 11:14:07 发布