计算较大数的阶乘
原理:利用数组存储每一位
#include <stdio.h>
#include <stdlib.h>
int main()
{
int number;/*所求数*/
int dight[3000]={0};
int top=0;/*位数*/
scanf("%d",&number);
int i,j;
dight[0]=1;
int last=0,now;
for(i=2;i<=number;i++)
{
for(j=0;j<=top;j++)
{
now=dight[j]*i+last;
dight[j]=now%10;
last=now/10;
}
while(last)
{
top++;
dight[top]=last%10;
last=last/10;
}
}
for(i=top;i>=0;i--)
{
printf("%d",dight[i]);
}
putchar('\n');
return 0;
}