关于阶乘取N! 的最右边的非零数字是多少。

 

 代码

#include<iostream>
using namespace std;

int main(){
int n;
cin>>n;
int res=1,d2=0,d5=0;
for(int i=1;i<=n;i++){
int x=i;
while(x%2==0) x/=2,d2++;
while(x%5==0) x/=5,d5++;
res=res*x%10;
}
int k=min(d2,d5);
for(int i=0;i<d2-k;i++) res=res*2%10;
for(int i=0;i<d5-k;i++) res=res*5%10;
cout<<res;
return 0;
}

posted @ 2021-01-26 14:16  爱努力的人最幸福  阅读(132)  评论(0)    收藏  举报