Pagini recente » Cod sursa (job #1571167) | Cod sursa (job #2617777) | Cod sursa (job #1966285) | Cod sursa (job #448266) | Cod sursa (job #237862)
Cod sursa(job #237862)
#include<stdio.h>
#define huge long long
huge P;
huge nrz(huge n)
{ huge 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);
huge st=0,dr=200000000;
if(P==0)
printf("1\n");
int ok=0;
while (st<=dr)
{
huge mij=(dr+st)/2;
huge 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;
}