Pagini recente » Cod sursa (job #908571) | Cod sursa (job #1621039) | Cod sursa (job #1196542) | Cod sursa (job #1072927) | Cod sursa (job #1384377)
#include<fstream>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int findNumZeros(int x) {
// cout << x << " -> ";
int count = 0;
for(int i = 5; i <= x; i *= 5) {
// cout << count << " ";
count += x/i;
}
// cout << count << "\n";
return count;
}
int main() {
ifstream fin("fact.in");
ofstream fout("fact.out");
int P; fin >> P;
if(P == 0) {
fout << "1\n";
return 0;
}
int lo = 1, hi = 100000004;
while(lo <= hi) {
int mid = lo + (hi - lo)/2;
int numZeros = findNumZeros(mid);
if(numZeros == P) {
fout << mid - (mid%5) << '\n';
return 0;
}
else if(numZeros < P) {
lo = mid + 1;
}
else {
hi = mid - 1;
}
}
fout << lo - (lo%5) << '\n';
return 0;
}