C++ 代码
#include <cstdio>
using namespace std;
int main() {
int n, sum = 1;
scanf("%d", &n);
for (int i = 1; i <= n; ++ i) {
// 计算阶乘
sum *= i;
// 循环判断sum值的最后一位是否为0,如果是0就通过除10得到除了最后一位的所有值
// 为什么可以边求阶乘边求0,因为如果末尾是0,任何数乘0都是0,不影响
while (!(sum % 10)) {
sum /= 10;
}
// 防止整数溢出
sum %= 1000000;
}
// 通过最后除以10得到最后一位
printf("%d", sum % 10);
return 0;
}