Cod sursa(job #858971)
#include <fstream>
using namespace std;
fstream f("fact.in" ,ios::in), g("fact.out", ios::out);
long p;
long retur (long);
long cautb(long,long);
int main()
{
f>>p;
if (p==0)
g<<"1";
else
if(p==1)
g<<"0";
else
g<<cautb(1,500000000);
}
long retur(long a)
{
long no=0;
while(a>0)
{
no+=a/5;
a/=5;
}
return no;
}
long cautb(long a, long b)
{
long mi=(a+b)/2, aux=retur(mi);
if(a==b && aux==p)
return b;
if (a==b && aux!=p)
return -1;
if (p<=aux) return cautb(a,mi);
else return cautb(mi+1,b);
}