Pagini recente » Cod sursa (job #2601713) | Cod sursa (job #1306995) | Cod sursa (job #2123728) | Cod sursa (job #2693429) | Cod sursa (job #978235)
Cod sursa(job #978235)
#include<stdio.h>
int trailingZeros(int n) {
int i, count = 0;
for(i = 5; i <= n; i *= 5)
count += n / i;
return count;
}
int bsearch(int l, int r, int x) {
int m;
int t;
while(l <= r) {
m = (l + r) / 2;
t = trailingZeros(m);
if (t == x) {
if (m % 5 == 0)
return m;
else
r = m - 1;
}
else {
if (t < x)
l = m + 1;
else
r = m - 1;
}
}
return -1;
}
int main()
{
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
int n, result;
scanf("%d", &n);
if (n == 0)
result = 1;
else {
result = bsearch(0, 5 * n, n);
}
printf("%d", result);
return 0;
}