Mai intai trebuie sa te autentifici.
Cod sursa(job #187943)
Utilizator | Data | 5 mai 2008 21:16:27 | |
---|---|---|---|
Problema | Factorial | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.07 kb |
#include <stdio.h>
long n;
long nr;
void cit()
{
FILE *f=fopen("fact.in", "r");
fscanf(f, "%ld", &n);
fclose(f);
}
void tip()
{
FILE *f=fopen("fact.out", "w");
fprintf(f, "%ld\n", nr);
fclose(f);
}
void fct()
{
long i, t, nr2;
while (nr<n)
{
i+=5;
nr+=5;
if (nr<n)
{
t=i;
do
{
if (t%5==0) t/=5;
nr++;
} while (t%5==0);
}
else
{
i-=nr-n;
}
}
nr=5*i;
nr2=0;
for (i=5; i<=nr; i+=5)
{
t=i;
while (t%5==0)
{
t/=5;
nr2++;
}
}
if (nr2!=n) nr=-1;
}
int main()
{
cit();
fct();
tip();
return 0;
}