Cod sursa(job #2445794)

Utilizator LORDENVraja Luca LORDEN Data 5 august 2019 15:45:47
Problema Factorial Scor 25
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>

using namespace std;

ifstream cin("fact.in");
ofstream cout("fact.out");

int nr=0,st,dr,mij,p;
char ok=0;

int nrzero(int x)
{

    int nz=0,d5=5;

    while(x/d5>=1)
    {
        nz=nz+x/d5;
        d5=d5*5;
    }

    return nz;

}

int main()
{
    cin>>p;

    if(p==0)
        cout<<1;

    else
    {

        st=1;
        dr=5000000;
        ok=0;

        while(st<=dr)
        {

            mij=(st+dr)/2;

            if(nrzero(mij)<p)
                st=mij+1;

            else if(nrzero(mij)>p)
                dr=mij-1;

            else if(nrzero(mij)==p)
            {
                nr=mij;
                dr=mij-1;
                ok=1;
            }

        }

        if(ok==0)
            cout<<-1;

        else
            cout<<nr;
    }
    return 0;
}