Cod sursa(job #2287579)

Utilizator alcholistuStafie Ciprian Mihai alcholistu Data 22 noiembrie 2018 04:59:07
Problema Factorial Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>

using namespace std;

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

int main()
{
    int mijloc, inceput=5, sfarsit=400000015, n, m, p5, num=-1;
    bool exit=false;
    fin >> n;
    if (n)
    {
        while (inceput != sfarsit && !exit)
        {
            m=0;
            p5=5;
            mijloc = (inceput+sfarsit)/2;
            while (mijloc/p5 > 0)
            {
                m+= mijloc/p5;
                p5*=5;
            }
            if (m==n)
            {
                num = mijloc;
                exit=true;
            }
            if (m > n)
                sfarsit = mijloc-1;
            else
                inceput = mijloc+1;
        }
        if (!exit)
            num=-1;
    }
    else
        num = 1;
    gout << num-num%5;
    return 0;
}