Cod sursa(job #53093)

Utilizator Mishu91Andrei Misarca Mishu91 Data 20 aprilie 2007 22:20:36
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<stdio.h>

long nrz(long c )
{
  long t=0;
  while(c)
  {
    t+=c/5;
    c/=5;
  }
  return t;
}
int main()
{
  freopen("fact.in","r",stdin);
  freopen("fact.out","w",stdout);
  long p;
  scanf("%ld",&p);
  if(p==0) printf("1");
  else 
  {
    long li,lf,m;
    li=(p+1)/2;
    lf=p;
    while(li<=lf)
    {
      m=(li+lf)/2;
      if(nrz(5*m)==p) break;
      if(nrz(5*m)>p) lf=m-1;
        else li=m+1;
    }
    if(li<=lf) printf("%ld",5*m);
      else printf("-1\n");
  }
  return 0;
}