[LuoguP1134]阶乘问题

sshwy

2019-03-04 14:15:50

Personal

# 分析 直接莽乘,去掉所有的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; } ```