Pagini recente » Cod sursa (job #1601145) | Rating Orban Razvan Alexandru (ORazvan) | Cod sursa (job #1489732) | Cod sursa (job #3140340) | Cod sursa (job #2149852)
#include <bits/stdc++.h>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
long long CountZeros(long long n) {
long long ans = 0;
for(long long i = 5; i <= n; i *= 5) {
ans += (n / i);
}
return ans;
}
int main() {
long long p; in >> p;
long long lo = 0, hi = 5 * p;
while(lo <= hi) {
long long mid = (lo + hi) >> 1;
if(CountZeros(mid) < p) {
lo = mid + 1;
} else {
hi = mid - 1;
}
}
if(CountZeros(lo) == p) {
out << lo << '\n';
} else {
out << "-1\n";
}
in.close(); out.close();
return 0;
}