Cod sursa(job #2470671)

Utilizator hax_m8Nicolae Antonio Cristian hax_m8 Data 9 octombrie 2019 17:45:45
Problema Factorial Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>

using namespace std;

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

int nr0f(int n)
{
    int p5 = 5, s = 0;
    while(n >= p5)
    {
        s += n / p5;
        p5 *= 5;
    }
    return s;
}

int main()
{
    int p, n0;
    fin >> p;
    int li, lf;
    li = 1, lf = 2147483647;
    while(li < lf)
    {
        int m = (li + lf) / 2;
        n0 = nr0f(m);
        if(n0 >= p)
            lf = m - 1;
        else
            li = m + 1;
    }
        if(nr0f(li) == p)
        {
            fout << li;
        }
        else
        {
            fout << -1;
        }
    return 0;
}