题解 P1134 【阶乘问题】
MDY_AnonTokyo · · 题解
这其实是一道数论题
每次乘以一个数除去后驱零,然后取最小的一位乘入,再在过程中不断维护就好了
(码风奇特,多多包涵)
#include<bits/stdc++.h>
using namespace std;
int main()
{
unsigned long long n,c;
unsigned long long a=1;
cin>>n;
for(unsigned long long b=2;b<=n;b++)
{
c=b;
while(c%10==0)
{
c/=10;
}
a*=c;
while(a%10==0)
{
a/=10;
}
a=a%1000000;
}
cout<<a%10<<endl;
return 0;
}
希望大家多多支持,有什么问题或建议可以评论 Orz
个人博客有兴趣可以看一下(不过可能空空如也)