Cod sursa(job #2607679)

Utilizator AlexVulpoiuAlexandru Vulpoiu AlexVulpoiu Data 30 aprilie 2020 00:03:27
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

using namespace std;

ifstream f("fact.in");
ofstream g("fact.out");

int n, p, q, i, st, dr, mij;

int main()
{
    f >> p;
    f.close();

    if(!p)
        n = 1;
    else
    {
        st = 1;
        dr = 5 * p;
        n = -1;
        while(st <= dr)
        {
            mij = (st + dr) / 2;
            q = 0;
            for(i = 5; i <= mij; i *= 5)
                q += mij / i;
            if(q == p)
            {
                n = mij - mij % 5;
                break;
            }
            else
                if(q < p)
                    st = mij + 1;
                else
                    dr = mij - 1;
        }
    }

    g << n << '\n';
    g.close();

    return 0;
}