Cod sursa(job #2115000)

Utilizator damian.belesDamian-Teodor Beles damian.beles Data 26 ianuarie 2018 10:21:26
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#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 zeroCounter(iCurr) == iZeros? iCurr : -1;
}

int main() {
    int iZeros;
    std::ifstream fin ("fact.in");
    fin >> iZeros;
    std::ofstream fout("fact.out");
    fout << exponentialSearch(iZeros);
    fout.close();
    return 0;
}