#include<stdio.h>
int a[1000000];
int main()
{
int i,j,k,d,z,n;
for(i=1;i<1000000;i++)
a[i]=0;
a[0]=1;d=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=0;j<d;j++)
a[j]=a[j]*i;
for(j=0;j<d;j++)
{
if(a[j]>9)
{
if(j==d-1)
d++;
a[j+1]=a[j+1]+a[j]/10;
a[j]=a[j]%10;
}
}
if(d>50)
{printf("Over flow!\n");
return 0;
}
else
{
printf("%d! =",i);
for(z=d-1;z>=0;z--)
printf("%d",a[z]);
printf("\n");
}
}
return 0;
}
大数阶乘(模拟手算过程)
最新推荐文章于 2021-05-15 23:25:28 发布