Pagini recente » Cod sursa (job #2806979) | Cod sursa (job #2888052) | Cod sursa (job #1696069)
#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 = -1;
for (int step = 1 << 30; step > 0; step >>= 1)
if ( getCountOfZeros(i + step) < x) {
i += step;
}
return ( i + 1 );
}