Pagini recente » Cod sursa (job #2043567) | Cod sursa (job #169591) | Cod sursa (job #871541) | Cod sursa (job #1410547) | Cod sursa (job #237865)
Cod sursa(job #237865)
#include<stdio.h>
long long P;
long long nrz(long long n)
{ long long nrz=0;
while(n!=0)
{
nrz+=n/5;
n/=5;
}
return nrz;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%lld",&P);
long long st=0,dr=2000000001;
if(P==0)
printf("1\n");
int ok=0;
while (st<=dr)
{
long long mij=(dr+st)/2;
long long nrm=nrz(mij);
if (nrm==P)
{ ok=1;
if(mij%5==0)
printf("%lld\n",mij);
else {while(mij%5!=0)
mij--;
printf("%lld\n",mij);
}
break;
}
else if (nrm>P)
dr=mij-1;
else
st=mij+1;
}
if(ok==0)
printf("-1\n");
return 0;
}