Pagini recente » Cod sursa (job #2049511) | Cod sursa (job #2738968) | Cod sursa (job #2140118) | Cod sursa (job #461878) | Cod sursa (job #2114998)
#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 ("fact.in");
fin >> iZeros;
std::ofstream fout("fact.out");
fout << exponentialSearch(iZeros);
fout.close();
return 0;
}