Cod sursa(job #3231754)

Utilizator Tibi_21Neagoie Nicholas-Tiberiu Tibi_21 Data 27 mai 2024 17:42:59
Problema Factorial Scor 25
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>

using namespace std;

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

const int NMAX = 1e8;

int nr_0(int m)
{
    int nrz = 0;
    for(int i = 5; i <= m; i+=5)
        if(i % 5 == 0)
        {
            int ci = i;
            while(ci % 5 == 0)
                nrz++, ci /= 5;
        }
    return nrz;
}

int Factorial(int P)
{
    int st = 1, dr = NMAX, rez = -1;
    while(st <= dr)
    {
        int m = (st+dr)/2;
        if(nr_0(m) == P)
            rez = m, dr = m-1;
        if(nr_0(m) < P)
            st = m+1;
        if(nr_0(m) > P)
            dr = m-1;
    }
    return rez;
}

int main()
{
    int P;
    fin >> P;
    fout << Factorial(P) << "\n";
}