Pagini recente » Cod sursa (job #2028918) | Cod sursa (job #3285552) | Cod sursa (job #302213) | Cod sursa (job #6151) | Cod sursa (job #2906569)
#include <fstream>
#include <climits>
int main() {
std::ifstream fin("fact.in");
std::ofstream fout("fact.out");
unsigned int p;
fin >> p;
unsigned int start = 1, end = UINT_MAX;
while(start != end) {
unsigned int mid = (start >> 1) + (end >> 1), num = 0;
for(unsigned int 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;
}