Cod sursa(job #178482)
Utilizator | Hasegan Daniel hasegandani | Data | 14 aprilie 2008 17:48:26 |
---|---|---|---|
Problema | Factorial | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include<stdio.h>
#include<math.h>
unsigned long p,s=0;
/*int fact5(unsigned long n)
{
if (n%5==0) return 1+fact5(n/5);
return 1;
}
*/
int main()
{
unsigned long i;
FILE *f=fopen("fact.in","r");
FILE *g=fopen("fact.out","w");
fscanf(f,"%lu",&p);
fclose(f);
double x=log(5);
if (p!=0)
{
for(i=1;s<p;++i)
if (i%5==0) s+=1+log(i)/x;
else ++s;
if (s==p) fprintf(g,"%lu",5*i-5);
else fprintf(g,"-1");
}
else fprintf(g,"1");
return 0;
}