[LuoguP1134]阶乘问题
sshwy
2019-03-04 14:15:50
# 分析
直接莽乘,去掉所有的2,5,最后乘回来即可
# 代码
```cpp
#include<cstdio>
using namespace std;
int n,ans=1,m2,m5;
int main(){
scanf("%d",&n);
for(int i=2;i<=n;i++){
int j=i;
while(j%2==0)m2++,j/=2;
while(j%5==0)m5++,j/=5;
ans=ans*j%10;
}
m2-=m5;
for(int i=1;i<=m2;i++)ans=ans*2%10;
printf("%d",ans);
return 0;
}
```