Cod sursa(job #2974684)

Utilizator ManuPiromanuBumbuta Emanuel ManuPiromanu Data 4 februarie 2023 14:24:12
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
using namespace std;

nrZerouri(int nr) {
    int p = 5, ct = 0;
    while(nr >= p) {
        ct += nr / p;
        p *= 5;
    }
    return ct;
}

int cautareBinara(int nr) {
    int st = 0, dr = nr * 5, mij, rsp = -1;

    while(st <= dr) {
        mij = (st + dr) / 2;

        if(nrZerouri(mij) < nr)
            st = mij + 1;
        else{
            dr = mij - 1;
            rsp = mij;
        }
    mij = (st + dr) / 2;
    }

    if(nrZerouri(rsp) == nr)
        return mij + 1;
    else
        return -1;
}

int main() {
    int nr;
    ifstream in("fact.in");
    ofstream out("fact.out");
    in >> nr;
    out << cautareBinara(nr);
}