Pagini recente » Cod sursa (job #1784261) | Cod sursa (job #969114) | Cod sursa (job #107515) | Cod sursa (job #3284492) | Cod sursa (job #2906572)
#include <fstream>
#include <climits>
int main() {
std::ifstream fin("fact.in");
std::ofstream fout("fact.out");
unsigned long long p;
fin >> p;
unsigned long long start = 1, end = UINT_MAX;
while(start != end) {
unsigned long long mid = (start + end) >> 1, num = 0;
for(unsigned long long pow = 5; pow < mid; pow *= 5)
num += mid / pow;
if(num == p) {
start = mid;
break;
} else if(num < p) {
start = mid + 1;
} else {
end = mid - 1;
}
}
start -= start % 5;
if(!start) start = 1;
fout << start;
fin.close();
fout.close();
return 0;
}