Pagini recente » Cod sursa (job #37808) | Cod sursa (job #2368038) | Cod sursa (job #1032093) | Cod sursa (job #3280459) | Cod sursa (job #978233)
Cod sursa(job #978233)
#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 && m % 5 == 0)
return m;
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;
}