Pagini recente » Cod sursa (job #2841615) | Cod sursa (job #828101) | Cod sursa (job #591744) | Cod sursa (job #383559) | Cod sursa (job #980929)
Cod sursa(job #980929)
#include <cstdio>
#define FIN "factorial.in","r",stdin
#define FOUT "factorial.out","w",stdout
using namespace std;
long long p,st,dr,mid,fact;
long long factorial(long long x)
{
long long d=5,nr=0;
while(d<=x)
{
nr+=x/d;
d*=5;
}
return nr;
}
int main()
{
freopen(FIN);
freopen(FOUT);
scanf("%lld",&p);
if(p==0)
{
printf("1");
return 0;
}
st=0;
dr=1000000000;
while(st<=dr)
{
mid=(st+dr)/2;
fact=factorial(mid);
if( fact==p && mid%5==0){printf("%lld",mid);return 0;}
if(fact<p)st=mid+1;
else dr=mid-1;
}
printf("-1");
return 0;
}