Pagini recente » Cod sursa (job #687325) | Cod sursa (job #42095) | Cod sursa (job #1899407) | Cod sursa (job #1576285) | Cod sursa (job #1108516)
#include <cstdio>
using namespace std;
int compute(int x) {
int s = 0;
while(x) {
x /= 5;
s += x;
}
return s;
}
int solve(int x) {
int m, left = 1, right = 1 << 29, 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;
scanf("%i", &x);
int r = solve(x);
printf("%d\n", r ? r : 1);
}
int main() {
read();
return 0;
}