Cod sursa(job #284020)

Utilizator MarcvsHdrMihai Leonte MarcvsHdr Data 20 martie 2009 21:36:03
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
# include <stdio.h>

long int sol,p;

void citire()
{
     FILE *f=fopen("fact.in","r");
     fscanf(f,"%ld",&p);
     fclose(f);
}

void scrie()
{
     FILE *g=fopen("fact.out","w");
     if (p==0) sol=1;
     fprintf(g,"%ld\n",sol);
     fclose(g);
}

long int zerouri(long int a) {long int sol=0; while (a) {sol+=a/5;a/=5;} return sol; }

long int searchbin(long int li, long int lf)
{
     if (li>lf) return -1;
     long int m=(li+lf)/2;long int ans=zerouri(5*m);
     if (ans==p) return 5*m;
     if (ans<p) return searchbin(m+1,lf);
     return searchbin(li,m-1);
}

int main()
{
    citire();
    sol=searchbin(1,p);
    //while (sol%5) sol--;
    scrie();
    return 0;
}