题目
求正整数 N 的阶乘的最后面的非零位。
解题思路
两个整数 a 和 b 相乘后的的值的个位数的值,只与 a 和 b 个位数上的值有关。
C++代码
#include<iostream>
using namespace std;
const int M = 1e5;
int main(){
int N;
cin >> N;
int ans = 1;
for(int i=2; i<=N; ++i){
ans *= i;
while(ans % 10 == 0){
ans /= 10;
}
if(ans > M){
ans %= M;
}
}
cout << ans%10 << endl;
return 0;
}
京公网安备 11010502036488号