Pagini recente » Cod sursa (job #301511) | Cod sursa (job #2581947) | Cod sursa (job #2641277) | Cod sursa (job #2186685) | Cod sursa (job #1696071)
#include <iostream>
#include <cstdio>
using namespace std;
int getCountOfZeros(int );
int binarySearch(int );
int main()
{
FILE *F;
F = freopen("fact.in", "rt", stdin);
F = freopen("fact.out", "wt", stdout);
int err, n, ans;
err = scanf("%d", &n);
ans = binarySearch(n);
printf("%d\n", (getCountOfZeros(ans) == n) ? ans : -1);
return 0;
}
int getCountOfZeros(int x) {
int count = 0;
while (x > 0) {
x /= 5;
count += x;
}
return count;
}
int binarySearch(int x) {
int i = 0;
for (int step = 1 << 30; step > 0; step >>= 1)
if ( getCountOfZeros(i + step) < x) {
i += step;
}
return ( i + 1 );
}