Pagini recente » Cod sursa (job #2698993) | Cod sursa (job #2123328) | Cod sursa (job #2323706) | Cod sursa (job #2963636) | Cod sursa (job #2373870)
#include <bits/stdc++.h>
using namespace std;
int P;
int get_num_of_zeros(long long num) {
int power = 5;
int num_of_zeros = 0;
while (power <= num) {
num_of_zeros += num / power;
power *= 5;
}
return num_of_zeros;
}
void binary_search(long long l, long long r) {
if (l > r) {
cout << "-1";
return;
}
long long mid = (l + r) >> 1;
int num_of_zeros = get_num_of_zeros(mid);
if (num_of_zeros == P) {
mid -= mid % 5;
cout << mid;
} else if (num_of_zeros < P) {
binary_search(mid + 1, r);
} else {
binary_search(l, mid - 1);
}
}
int main() {
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
cin >> P;
if (P == 0) {
cout << "1";
} else {
binary_search(1, P * 5);
}
}