Cod sursa(job #2532170)

Utilizator richardbaczur1Baczur Richard richardbaczur1 Data 27 ianuarie 2020 14:48:35
Problema Factorial Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>
#define infile "fact.in"
#define outfile "fact.out"

using namespace std;
int p, st, dr, a, n, m, rez = -1;
int main()
{
    ifstream f(infile);
    f >> n;
    f.close();
    st = 1;
    dr = 100000000;
    while (st <= dr)
    {
        m = (st + dr) / 2;
        p = 1;
        a = 0;
        while (p <= m)
        {
            p *= 5;
            a += m / p;
        }

        if (a < n)
        {
            st = m + 1;
        }
        else if (a > n)
        {
            dr = m - 1;
        }
        else
        {
            rez = m;
            dr = m - 1;
        }
    }
    ofstream g(outfile);
    g << rez;
    g.close();
    return 0;
}