Pagini recente » Cod sursa (job #218849) | Istoria paginii runda/info_day_1/clasament | Cod sursa (job #1996980) | Cod sursa (job #1574107) | Cod sursa (job #288529)
Cod sursa(job #288529)
#include <fstream.h>
#define long unsigned long
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=4000000000; 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;
}