Pagini recente » Cod sursa (job #974950) | Cod sursa (job #1376982) | Cod sursa (job #2399576) | Cod sursa (job #2447384) | Cod sursa (job #20401)
Cod sursa(job #20401)
#include <stdio.h>
#include <math.h>
int n;
long long sol, step;
long long calc(long long n)
{
long long i, nr = 0;
for (i = 5; i <= n; i *= 5)
nr += n / i;
return nr;
}
int main()
{
freopen("fact.in","rt",stdin);
freopen("fact.out","wt",stdout);
scanf("%d", &n);
if (n == 0)
{
printf("1\n");
return 0;
}
for (sol = 0, step = (long long)1 << 60; step; step >>= 1)
if (sol + step <= (long long)1 << 60 && calc(sol + step) < n)
sol += step;
if (calc(sol + 1) != n)
printf("-1\n");
else
printf("%lld\n", sol + 1);
return 0;
}