Cod sursa(job #16644)
Utilizator | Robertino robert robby | Data | 13 februarie 2007 20:15:54 |
---|---|---|---|
Problema | Factorial | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <stdio.h>
FILE *f,*g;
long long p,s,i,j,r;
int main()
{
FILE *f=fopen("fact.in","rt");
FILE *g=fopen("fact.out","wt");
fscanf(f,"%lld",&p);
j=p+1;
s=0;
while (s!=p&&p-j<=p/5)
{
j--;
s=0;
i=j;
while (i>0)
{
s+=i;
i/=5;
}
}
if (p==0)
fprintf(g,"1\n");
else
if (s==p)
fprintf(g,"%lld\n",j*5);
else
fprintf(g,"-1\n");
fclose(f);
fclose(g);
return 0;
}