/*
ID: niepeng1
LANG: C++
TASK:fact4
*/
/*
Factorials
The factorial of an integer N, written N!, is the product of all the integers from 1 through N inclusive.
The factorial quickly becomes very large: 13! is too large to store in a 32-bit integer on most computers,
and 70! is too large for most floating-point variables. Your task is to find the rightmost non-zero digit of
n!. For example, 5! = 1 * 2 * 3 * 4 * 5 = 120, so the rightmost non-zero digit of 5! is 2. Likewise,
7! = 1 * 2 * 3 * 4 * 5 * 6 * 7 = 5040, so the rightmost non-zero digit of 7! is 4.
很诡异,我已开始一位很难呢,结果直接过了,晕。
*/
#include <iostream>
#include <algorithm>
#include <functional>
#include <vector>
using namespace std;
int main()
{
FILE *in,*out;
long int tem;
int i,j,n;
in=fopen("fact4.in","r");
out=fopen("fact4.out","w");
fscanf(in,"%d",&n);
tem=1;
for(i=1;i<=n;i++)
{
j=i;
while(j%10==0 )//|| (j%5 !=0 && j%2!=0)
j/=10;
tem=tem*j;
while(tem%10==0)
tem/=10;
tem=tem%10000;
}
fprintf(out,"%d/n",tem%10);
return 0;
}