Pagini recente » Cod sursa (job #341646) | Cod sursa (job #2844295) | Cod sursa (job #1440821) | Cod sursa (job #46053) | Cod sursa (job #2114997)
#include <fstream>
int zeroCounter(int iNumber) {
int iPower = 5, iCounter = 0;
while (iNumber / iPower) {
iCounter += iNumber / iPower;
iPower *= 5;
}
return iCounter;
}
int exponentialSearch(int iZeros) {
int iCurrent, iCurr;
for (iCurrent = 1; zeroCounter(iCurrent) < iZeros; iCurrent <<= 1);
for (iCurr = iCurrent >> 1; zeroCounter(iCurr) < iZeros; iCurr++);
return iCurr;
}
int main() {
int iZeros;
std::ifstream fin ("factorial.in");
fin >> iZeros;
std::ofstream fout("factorial.out");
fout << exponentialSearch(iZeros);
fout.close();
return 0;
}