Pagini recente » Cod sursa (job #235721) | Cod sursa (job #2265730) | Cod sursa (job #2721379) | Cod sursa (job #2154147) | Cod sursa (job #966947)
Cod sursa(job #966947)
#include <cstdio>
#include <climits>
using namespace std;
long long n, i, c, ld=LONG_LONG_MAX-1, ls=1, mij, x, sol;
int sw=1;
long long zero(long long x)
{
long long nr=0;
while(x>0)
{
nr+=x/5;
x/=5;
}
return nr;
}
int main()
{
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
scanf("%lld", &n);
if(n==0)
printf("1\n");
else
{
while(ls<ld&&sw)
{
mij=(ls+ld)/2;
c=zero(mij);
// printf("\n%lld %lld %lld \n", ls, ld , c);
if(c==n)
{
if(mij<5)
sol=1;
else
sol=mij-mij%5;
sw=0;
}
else if(c>n)
ld=mij-1;
else if(c<n)
ls=mij+1;
if(ls>ld)
{
sol=-1;
sw=0;
}
}
// if(c==zero(ls))
if(sol>0)
printf("%d\n", sol);
else
printf("-1\n");
}
return 0;
}