Cod sursa(job #2790295)

Utilizator CristiBota3Cristian Bota Avram CristiBota3 Data 28 octombrie 2021 19:06:51
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>

using namespace std;


int nr5(int n)
{
    int p5=5,n5=0;
    while(n>=p5)
    {
        n5+=n/p5;
        p5*=5;
    }
    return n5;
}

int cautarebinara(int x,int start,int stop)
{
    int mij;
    mij=(start+stop)/2;
    int nr=nr5(mij);
    if(x==nr)
    {
//        int i;
//        for(i=mij-1;nr5(i)==x;i--);
        return mij-mij%5;
    }
    if(start==stop)
    {
        return -1;
    }


    if(x<nr)
    {
        return cautarebinara(x,start,mij-1);
    }
    return cautarebinara(x,mij+1,stop);
}

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

    int p;
    fin>>p;
    if(p==0)
    {
        fout<<1;
    }
    else
    {
       fout<<cautarebinara(p,1,2000000000);
    }



    fin.close();
    fout.close();

    return 0;
}