题意是计算某个数的阶乘中, 倒数的第一个非零数.
因为不想看解题报告, 琢磨了三四个小时, 虽然琢磨出了一种方法, 但是实现起来很麻烦, 不过能一次到位. 可是我现在已经能感觉到头脑已经不清晰了....
参考了一下别人的, 先上一种比较简单的. 明天再抽时间把我的那个方法搞出来...
#include <cstdio>
using namespace std;
int main()
{
//freopen("input.txt", "r", stdin);
int n;
register int i;
register int sum;
while (~scanf("%d", &n))
{
sum = 1;
for (i = 1; i <= n; i++)
{
sum *= i;
while (sum % 10 == 0)
sum /= 10;
sum %= 100000;
}
printf("%5d -> %d\n", n, sum % 10);
}
return 0;
}