#include <bits/stdc++.h>
using namespace std;
int main(){
int N;
cin>>N;
int res=1;
for(int i=2;i<=N;i++){ //1*1没意义,所以可以从i=2开始。
res*=i;//求阶乘的核心公式。记住!
while(res%10==0){
res/=10;
}
res%=10000;//小技巧:结果只保留4位数,就不会因为res阶乘过大导致测试超时了。
//cout<<res<<endl;//这步可以显示res阶乘中间过程。
}
cout<<res%10;
return 0;
}
求阶乘,以及输出阶乘最后非0位(防超时小技巧)
于 2024-03-15 22:23:16 首次发布