Cod sursa(job #2782480)

Utilizator nodea98nodea adrian nodea98 Data 12 octombrie 2021 15:25:25
Problema Factorial Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>

using namespace std;

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

int nrzerouri(int n)
{
    int nrz=0,i=5;
    while(i<=n)
    {
        nrz=nrz+n/i;
        i=i*5;
    }
    return nrz;
}

int main()
{
    int p,st=1,dr=9999999,mj;
    fin>>p;
    while(st<=dr)
    {
        mj=(st+dr)/2;
        //fout<<st<<" "<<dr<<" "<<mj<<" "<<nrzerouri(mj)<<endl;
        if(nrzerouri(mj)>=p)
        {
            dr=mj-1;
        }
        else
        {
            st=mj+1;
        }
    }
    mj=(st+dr)/2;
    int ok=0,i=mj+1;
    while(i<=mj+5&&ok==0)
    {
        if(nrzerouri(i)==p)
        {
            fout<<i;
            ok=1;
        }
        i++;
    }
    if(ok==0)
    {
        fout<<-1;
    }
    return 0;
}