Cod sursa(job #2448148)

Utilizator nTropicGravityesadasdwaadwqafr nTropicGravity Data 15 august 2019 21:21:49
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include    <fstream>

using namespace std;

ifstream fin("fact.in");
ofstream fout("fact.out");

#define MAX_N 500000001
#define MIN_N 0

int P;

int findTrailingZeros(int N) {
    int counter = 0;

    for (int i = 5; N / i >= 1; i *= 5)
        counter += N / i;

    return counter;
}

int binSearch(int Left, int Right, int P) {
    int Mid = (Left + Right) / 2;

    if (Left > Right)
        return -1;

    if (P == findTrailingZeros(Mid))
        return Mid;

    if (P < findTrailingZeros(Mid))
        return binSearch(Left, Mid + 1, P);
    else
        return binSearch(Mid - 1, Right, P);
}

int main() {
    fin >> P;
    fout << binSearch(MIN_N, MAX_N, P);
}