Cod sursa(job #71796)

Utilizator c_sebiSebastian Crisan c_sebi Data 11 iulie 2007 17:21:17
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>


int main()

{   long p, i, j, ok;
    unsigned long a=0, b=500000000, c;
    FILE *f, *g;
    f=fopen("fact.in", "r");
    g=fopen("fact.out", "w");
    fscanf(f, "%ld", &p);
    ok=1;
    if (p==0) fprintf (g, "1");
    else
{
    while(ok&&(a<b))

    {    c=(a+b)/2;
         for (i=5, j=0; c/i; i*=5)
             j+=c/i;
         if (j<p)
            a=c+1;
         else
            if (j>p)
             b=c-1;
              else
              {  
                   c-=c%5;
                   ok=0;
              }
    }
     if (j==p)
       fprintf(g, "%ld", c);
    else
        fprintf(g, "-1");
}
    fcloseall();
    return 0;
}