Cod sursa(job #283757)

Utilizator MarcvsHdrMihai Leonte MarcvsHdr Data 19 martie 2009 18:41:21
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
# include <stdio.h>

long int sol,p;

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

void scrie()
{
     FILE *g=fopen("factorial.out","w");
     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)
{
     //printf("%ld %ld\n",li,lf);
     //getchar();
     if (li>lf) return -1;
     long int m=(li+lf)/2;long int ans=zerouri(m);
     if (ans==p) return m;
     if (ans<p) return searchbin(m+1,lf);
     return searchbin(li,m-1);
}

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