Pagini recente » Cod sursa (job #1942721) | Cod sursa (job #1667035) | Cod sursa (job #2201935) | Cod sursa (job #2744232) | Cod sursa (job #483937)
Cod sursa(job #483937)
#include<stdio.h>
#define LL long long
#define min(a,b) (a<b ? a : b)
LL p;
void read()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%lld",&p);
}
LL p2(LL n)
{
LL num=2,s=0;
while(n/num)
{
s+=n/num;
num=num<<1;
}
return s;
}
LL p5(LL n)
{
LL num=5,s=0;
while(n/num)
{
s+=n/num;
num=num*5;
}
return s;
}
LL okay(LL n)
{
return min(p2(n),p5(n));
}
void solve()
{
LL st=1,dr=(LL)1<<63,m,last=-1;
while(st<=dr)
{
m=(st+dr)>>1;
if(okay(m)>=p)
{
dr=m-1;
if(okay(m)==p && (m<last || last==-1))
last=m;
}
else
st=m+1;
}
printf("%lld\n",last);
}
int main()
{
read();
solve();
return 0;
}