Pagini recente » Cod sursa (job #2258484) | Cod sursa (job #2906579)
#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 = 10000000000;
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;
}