Cod sursa(job #38515)
Utilizator | Data | 25 martie 2007 21:13:18 | |
---|---|---|---|
Problema | Factorial | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include<stdio.h>
int main()
{long long unsigned n,p,i,j,ok,m,nr,k;
FILE *f=fopen("fact.in","r");
FILE*g=fopen("fact.out","w");
fscanf(f,"%llu",&p);
i=0;ok=0;
j=7*p;
while (i<=j)
{ m=(i+j)/2;
nr=0;
for (k=5;k<=m;k=k+5)
{n=k;
while (n%5==0) {n=n/5; nr++; }}
if (nr==p) {fprintf(g,"%llu",m);ok=1; break;}
else if (nr<p) i=m+5;
else j=m-5;}
if (!ok) fprintf(g,"-1");
fclose(f);
fclose(g);
return 0;}