Pagini recente » Cod sursa (job #3261419) | Cod sursa (job #1327858) | Cod sursa (job #785813)
Cod sursa(job #785813)
#include <fstream>
#include <cmath>
#include <iostream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long i, x, p, zero, hi, lo, mid, patr[14];
int main() {
fin >> p;
fin.close();
for (i = 1; i < 14; i++) {
patr[i] = pow(5, i);
//cout << patr[i] << '\n';
}
lo = 0;
hi = 500000005;
while (hi - lo > 1) {
mid = (hi + lo) / 2;
i = 1;
zero = 0;
//cout << "mid=" << mid << ' ';
while (mid / patr[i] >= 1) {
zero += mid / patr[i];
//cout << "zero=" << zero << '\n';
i++;
}
if (zero == p)
x = mid;
if (zero < p)
lo = mid;
else
hi = mid;
//cout << mid << ' ';
}
fout << x;
fout.close();
return 0;
}