Pagini recente » Cod sursa (job #590856) | Cod sursa (job #2199998) | Cod sursa (job #2716066) | Cod sursa (job #2596726) | Cod sursa (job #445261)
Cod sursa(job #445261)
#include <cstdio>
#define file_in "fact.in"
#define file_out "fact.out"
long long n;
void citire()
{
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%lld", &n);
}
inline long long min(long long a, long long b) { return a<b?a:b; }
long long desc(long long x)
{
long long nr5,nr2;
nr5=nr2=0;
long long i;
i=2;
while(i<=n)
{
nr2+=(x/i);
i*=2;
}
i=5;
while(i<=4000000000)
{
nr5+=(x/i);
i*=5;
}
return min(nr2,nr5);
}
void solve()
{
long long ls,ld,mij,sol=1;
long long x;
ls=1;
ld=999999999;
while(ls<=ld)
{
mij=(ls+ld)>>1;
x=desc(mij);
if (x>=n)
{
ld=mij-1;
sol=mij;
}
else
{
ls=mij+1;
}
}
if (desc(sol)!=n)
printf("-1\n");
else
printf("%lld\n", sol);
}
int main()
{
citire();
solve();
fclose(stdin);
fclose(stdout);
return 0;
}