UVA - 568 Just the Facts
题目大意:求N阶乘的不为0尾数
解题思路:用乘法定义来设计算法求阶乘即可。然后输出不为0的尾数
#include <cstdio>
#include <cstring>
int a[30000];
int main() {
int N;
while (scanf("%d", &N) != EOF ) {
memset(a, 0, sizeof(a) );
a[0] = 1;
for (int i = 2; i <= N; i++) {
int s = 0;
for (int j = 0; j < 30000;j++) {
a[j] = a[j]*i + s;
s = a[j]/10;
a[j] = a[j]%10;
}
}
for (int i = 0; i < 30000; i++)
if (a[i]) {
printf("%5d -> %d\n", N, a[i]);
break;
}
}
}