Cod sursa(job #265058)

Utilizator IoannaPandele Ioana Ioanna Data 23 februarie 2009 10:28:27
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>
long p;
long long n;



void read()
{
scanf("%ld",&p);
}

long long mult(long long k)
{
long long p,m;
p=5;
m=0;
while (p<=k)
      {
       m=m+(k/p);
       p*=5;
      }
return m;
}

void cautbin()
{
long long st,dr,m;
long long k,w;
st=1;
dr=10000000000LL;
w=-1;
while (st<=dr)
      {
       m=(st+dr)/2;
       k=mult(m);
       if (k==p)
          {
           w=m;
           dr=m-1;
          }
       else if (k<p)
               {
                st=m+1;
               }
            else {
                  dr=m-1;
                 }
       }
printf("%lld\n",w);
}

int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
read();
cautbin();
return 0;
}