Cod sursa(job #311656)

Utilizator cosgbCosmin cosgb Data 3 mai 2009 20:43:55
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>


 long putere5 (long x)
{
  long long pow,nr=0,m;
  m=x/5;
  pow=5;
  while (m>0)
   {nr=nr+m;
    pow=pow*5;
    m=x/pow;
   }
 return nr;

}

 long rezolvare (long p)
{ long long nr;
  long st,dr,x,y,m;
 if (p==0) return 1;
     else
  { nr=0;
    st=1;
    dr=100000000;
    while (st<=dr)
   { m=(st+dr)/2;
     x=5*m;
     y=putere5(x);
     if (p<y)
	  dr=m-1;
	  else
	     if (p>y)
	       st=m+1;
	       else
		  return x;
   }
  return -1;
}






}






int main()
{ freopen ("fact.in","r",stdin);
  freopen ("fact.out","w",stdout);
  long p,nr;
   scanf ("%ld",&p);
   nr=rezolvare (p);
   printf ("%ld",nr);

fcloseall();
return 0;
}