大数的阶乘
#include <stdio.h>void main()
{
int a[50],i,j,m,k;
printf("input a num:\n");
scanf("%d",&m);
a[0]=1;
for(i=1;i<50;i++)
a[i]=0;
for (i=1;i<=m;i++)
{
for (j=0;j<50;j++)
a[j]=a[j]*i;
for (j=0;j<50;j++)
{
if(a[j]>=10&&a[j]<100)
{
a[j+1]=a[j+1]+a[j]/10;
a[j]=a[j]%10;
}
if(a[j]>=100)
{
a[j+1]=a[j+1]+a[j]/10;
a[j]=a[j]%100;
}
}
}
for(i=49;i>=0;i--)
if(a[i]==0) continue ;
else break;
printf("i=%d\n",i+1);
printf("%d!=",m);
for(k=i;k>=0;k--)
printf("%d",a[k]);
putchar('\n');
getch();
}