问题描述 :
N的阶乘写作N!表示小于等于N的所有正整数的乘积。阶乘会很快的变大,如13!就必须用32位整数类型来存储,70!即使用浮点数也存不下了。你的任务是找到阶乘最后面的非零位。举个例子,5!=12345=120所以5!的最后面的非零位是2,7!=1234567=5040,所以最后面的非零位是4。
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<iomanip>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int n;
long long int ans=1;
int i,j,k;
cin>>n;
for(i=1;i<=n;i++)
{
ans=ans*i;
while(ans%10==0)
ans/=10;
ans=ans%10000;
}
cout<<ans%10<<endl;
return 0;
}