Pagini recente » Cod sursa (job #786313) | Cod sursa (job #1270454) | Cod sursa (job #1668665) | Cod sursa (job #1371413) | Cod sursa (job #978226)
Cod sursa(job #978226)
#include<stdio.h>
int trailingZeros(int n) {
int i, count = 0;
for(i = 5; n / i > 0; 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)
r = m - 1;
else
return m;
}
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;
}