刘嘉柚 • 4个月前
按普通的阶乘去循环,每乘一次就去掉后面的0 去0的话只需一个while:
while(jc%10==0)
jc/=10;
为了防止最终的数据量太大,结果需模10000 上AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,i,jc=1;
cin>>n;
for(i=1;i<=n;i++)
{
jc*=i; //累乘
while(jc%10==0) //去掉末尾的0
jc/=10;
jc%=10000; //模10000防止数据爆炸
}
cout<<jc%10;
return 0; //华丽结束
}
评论: