Cod sursa(job #156254)

Utilizator andrei-alphaAndrei-Bogdan Antonescu andrei-alpha Data 12 martie 2008 14:02:52
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream.h>
using namespace std;
int main()
{ long long k,ci,m,p,nr5,st,dr;
freopen("fact.in", "r",stdin);
freopen("fact.out", "w",stdout);
scanf("%lld", k);
st=1;
dr=2000000000;
if (k==0) printf("1");
else
   while (st<=dr)
      {
      m=(st+dr)/2;
      nr5=0;p=5;
      while(m/p!=0)
         {
         nr5=nr5+(m/p);
         p=p*5;
         }
      if(nr5==k) 
         { 
         while(m%5!=0) m--;
         printf("%lld",m);  
         return 0;
         }
	  
      else if(nr5>k) dr=m-1;
      else st=m+1;
      }
printf("-1");
return 0;
}