n!最右边非0位
不会!!!啊啊啊啊,不能理解
版本1
#include <cstdio>
using namespace std;
int n,ans=1;
int a[4]= {6,8,4,2};
int main() {
scanf("%d",&n);
while (n>0) {
for (int i=1; i<=n%10;++i){
if(i!=5)ans=ans*i%10;//除5外的数字原样乘取最后一位,那少了一个5???
}
n=n/5;//n/5即少乘了多少次5
//即乘8的次数
ans=ans*a[n%4]%10;//四次一循环(此时可以放心%10)
}
printf("%d",ans);
return 0;
}#inclu