有规律,每次乘i后,记录第i个乘数的结果,去掉右边的零后,取1000的余数保存,继续乘i+1……
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int a=1,i;
for(i=2;i<=n;i++)
{
a*=i;
while(a%10==0)
a/=10;
a=a%1000;
}
printf("%d\n",a%10);
}
}
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int a=1,i;
for(i=2;i<=n;i++)
{
a*=i;
while(a%10==0)
a/=10;
a=a%1000;
}
printf("%d\n",a%10);
}
}