Cod sursa(job #2906568)

Utilizator DobraVictorDobra Victor Ioan DobraVictor Data 26 mai 2022 18:16:25
Problema Factorial Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#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 + 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;
}