求阶乘最后一位非零数,此方法只适合数据范围较小的数据!
#include<stdio.h>
int main()
{
int i,n;
while(scanf("%d",&n)!=EOF)
{
int sum=1,flag;
for(i=1;i<=n;i++)
{
flag=i;
while(flag%10==0) flag/=10;
sum=sum*flag;
while(sum%10==0) sum/=10;
sum=sum%100000;
}
printf("%5d -> %d\n",n,sum%10);
}
return 0;
}