Pagini recente » Cod sursa (job #2579201) | Cod sursa (job #1267653) | Cod sursa (job #648134) | Cod sursa (job #1980969) | Cod sursa (job #1108497)
#include <cstdio>
using namespace std;
int compute(int x) {
int p = 5;
int s = 0;
while(x / p) {
s += x / p;
p *= 5;
}
return s;
}
int solve(int x) {
int m, left = 1, right = 1 << 27, partial_result;
while( left <= right ) {
m = (left + right) >> 1;
partial_result = compute(m);
if( partial_result > x ) {
right = m - 1;
} else if ( partial_result < x ) {
left = m + 1;
} else if (partial_result == x)
return (m / 5) * 5;
}
return -1;
}
void read() {
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
int x;
while(scanf("%d", &x) == 1) {
int r = solve(x);
printf("%d\n", r ? r : 1);
}
}
int main() {
read();
return 0;
}