Cod sursa(job #288522)

Utilizator ucc_5Usurelu Catalin ucc_5 Data 25 martie 2009 21:15:13
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <fstream.h>

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

long fact (long n)
{ long nr_0=0,aux;
  while (n)
  { nr_0+=n/5;
    n/=5;
  }
  return nr_0;
}

long caut_bin (long x)
{ long hi,lo,mid;
  for (lo=1, hi=1000; lo <= hi; )
  { mid=(hi+lo)/2;
    if (x<fact(mid)) hi=mid-1;
    else if (x>fact(mid)) lo=mid+1;
    else return mid;
  }
  return -1;
}

int main ()
{ f>>p;
  long aux=caut_bin(p);
  if (aux!=-1) aux=aux-aux%5;
  g<<aux;
  return 0;
}