Cod sursa(job #179125)

Utilizator Snavenportnespecificat Snavenport Data 15 aprilie 2008 17:55:52
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream.h>

ifstream f("fact.in");
ofstream g("fact.out");

long p,a,b,c;

long nr0(long x)
{
    long nr=0;
    while (x!=0)
    {
          nr=nr+x/5;
          x=x/5;
    }
    return nr;
}  

int main()
{
   f>>p;
   if (p==0)
      g<<1;
   else
     {
        a=5;
        b=5*p;
        int sw=0;
        long nr_0=0;
        while (a<=b && sw==0)
          {
              c=(a+b)/2;
              nr_0=nr0(c);
              if (p==nr_0)
                {
                  while (c%5!=0)
                     c--;
                  g<<c;
                  sw=1;
                }
               else
                 if (p<nr_0)
                   b=c-1;
                  else
                   a=c+1;
          }
        if (sw==0)
           g<<"-1";
     
     
     }    
    
}