#include<stdio.h>
void main()
{
int res[4][4] = {{2,6,8,4}, {4,2,6,8}, {6,8,4,2}, {8,4,2,6}};
int table[10] = {6,6,2,6,4,4,4,8,4,6};
unsigned n;
int t = 1, sum = 0;
scanf("%u", &n);
if(n == 0 || n == 1)
{
printf("1\n");
}
else
{
while(n > 0)
{
t = (t * table[n%10]) % 10;
n /= 5;
sum = (sum + n) % 4;
}
printf("%d\n", res[t/2-1][sum]);
}
}
参考自
求N!的最末位非零数, 这是我见过最好的分析
求n!的最后一位非零数
最新推荐文章于 2020-03-04 11:36:11 发布