Cod sursa(job #1957350)

Utilizator DavidLDavid Lauran DavidL Data 7 aprilie 2017 15:04:45
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
///cautare binara
#include <fstream>
#define MAXN 400000015
using namespace std;
ifstream fi("fact.in");
ofstream fo("fact.out");

int P,N,factori,auxN,st,dr,mij;

int zero(int x)
{
    ///cati de zero sunt in finalul lui x!
    int z=0,t=5;
    while (x/t>0)
    {
        z+=(x/t);
        t*=5;
    }
    return z;
}

int main()
{
    fi>>P;
    if (P==0)
        fo<<1;
    else
    {
        st=0,dr=MAXN/5+1;
        while (dr-st>1)
        {
            mij=(st+dr)/2;
            if (zero(5*mij)<=P)
                st=mij;
            else
                dr=mij;
        }
        if (zero(5*st)!=P)
            fo<<-1;
        else
            fo<<5*st;
    }
    fi.close();
    fo.close();
    return 0;
}