题目链接:http://lx.lanqiao.cn/problem.page?gpid=T512
题解:每次累乘前去掉末尾的0,值得注意的时候得到的值要保留在4左右,因为可能会出现一个单数去乘出现末尾为0的情况
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long int n,sums,ans;
while(cin>>n)
{
sums=1;
for(int i=1;i<=n;i++)
{
sums=sums*i;
ans=sums%10;
while(ans==0)
{
sums/=10;
ans=sums%10;
}
sums%=10000; //为了防止一个单数乘以末尾为0的情况
}
cout<<sums%10<<endl;
}
return 0;
}