题目
求正整数 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; }