Pagini recente » Cod sursa (job #3266144) | Cod sursa (job #1254250) | Cod sursa (job #1523822) | Cod sursa (job #1420207) | Cod sursa (job #502186)
Cod sursa(job #502186)
#include<stdio.h>
long long P;
long long zero(long long med)
{
long long s=0,numitor=5;
while (med/numitor)
{
s=s+med/numitor;
numitor=numitor*5;
}
return s;
}
long long bs()
{
long long st,dr,med,last=1;
st=1; dr=(1ll<<62)-1;
while(st<=dr)
{
med=st+((dr-st)>>1);
if (P<=zero(med))
{
last=med;
dr=med-1;
}
else
st=med+1;
}
return last;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
long long N;
scanf("%lld",&P);
N=bs();
if (zero(N)!=P) printf("-1\n");
else printf("%lld\n",N);
return 0;
}