Cod sursa(job #181268)
Utilizator | Hasegan Daniel hasegandani | Data | 18 aprilie 2008 09:47:22 |
---|---|---|---|
Problema | Factorial | Scor | 75 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include<stdio.h>
unsigned long p,s=0;
int fact5(unsigned long n)
{
int k=1;
while (n%5==0)
{
n=n/5;
++k;
}
return k;
}
int main()
{
unsigned long i;
FILE *f=fopen("fact.in","r");
FILE *g=fopen("fact.out","w");
fscanf(f,"%lu",&p);
fclose(f);
if (p!=0)
{
for(i=1;s<p;++i)
if (i%5==0) s+=fact5(i);
else ++s;
if (s==p) fprintf(g,"\n%lu",5*i-5);
else fprintf(g,"\n-1");
}
else fprintf(g,"1");
return 0;
}