Pagini recente » Cod sursa (job #1884493) | Cod sursa (job #3192641) | Cod sursa (job #2411744) | Cod sursa (job #2433531) | Cod sursa (job #3152617)
#include <bits/stdc++.h>
using namespace std;
int p;
bool check(int val) {
int putere_2, putere_5, count_2, count_5;
putere_2 = 1;
count_2 = 0;
while (putere_2 <= val) {
putere_2 *= 2;
count_2 += val / putere_2;
}
putere_5 = 1;
count_5 = 0;
while (putere_5 <= val) {
putere_5 *= 5;
count_5 += val / putere_5;
}
return (min(count_2, count_5) >= p);
}
int main() {
ifstream cin("fact.in");
ofstream cout("fact.out");
int left, right, mid, ans;
cin >> p;
left = 1;
right = 1000000000;
ans = -1;
while (left <= right) {
mid = (left + right) / 2;
if (check(mid)) {
ans = mid;
right = mid - 1;
} else
left = mid + 1;
}
cout << ans;
}