题目意思是取N!之后第一个不为零的那一位的数字。
将每次可能乘出来的零去掉然后求模保存就OK了,如果不求模保存的话,最后整型存不下。
一道简单的高精度题,注意整型变量的存储范围,还有题目给出的数据范围(1<=N<=1000)即可。
#include <iostream>
using namespace std;
int main()
{
int n;int sum;
while(cin>>n)
{
sum=1;
for(int i=2;i<=n;i++)
{
sum*=i;
while(sum%10==0) sum/=10;
sum%=10000;
}
cout<<sum%10<<endl;
}
return 0;
}