题目
源地址:
http://poj.org/problem?id=1604
理解
只需要截取后面五位,避免超过int的范围
代码
#include<iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
int s[10005];
int n;
void multiply()
{
int i , j;
memset(s, 0, sizeof(s));
s[1] = 1;
j = 1;
for (i = 2; i <= 10000; i++)
{
j *= i;
while (j % 10 == 0)
j /= 10;
j %= 100000;
s[i] = j % 10;
}
}
int main(int argc, char const *argv[])
{
multiply();
while (cin >> n)
{
printf("%5d", n);
cout << " -> " << s[n] << endl;
}
return 0;
}
更新日志
- 2014年08月03日 已AC。