Cod sursa(job #3314645)

Utilizator rapidu36Victor Manz rapidu36 Data 10 octombrie 2025 15:52:31
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>

using namespace std;

const int NMIN = 1;
const int NMAX = 5e8;

int nr_zero(int n)
{
    int nr = 0;
    while (n >= 5)
    {
        nr += n / 5;
        n /= 5;
    }
    return nr;
}

int caut_bin(int p)
{
    int st = NMIN, dr = NMAX, rez = dr + 1;
    while (st <= dr)
    {
        int m = (st + dr) / 2;
        if (nr_zero(m) >= p)
        {
            rez = m;
            dr = m - 1;
        }
        else
        {
            st = m + 1;
        }
    }
    return rez;
}

int main()
{
    ifstream in("fact.in");
    ofstream out("fact.out");
    int n;
    in >> n;
    int p = caut_bin(n);
    if (nr_zero(p) > n)
    {
        p = -1;
    }
    out << p << "\n";
    in.close();
    out.close();
    return 0;
}