Cod sursa(job #2610416)

Utilizator mihaimbMihai Badea mihaimb Data 4 mai 2020 20:52:31
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>

using namespace std;

int nz(int n)
{
    if(n<0) return -1;

    int k=0,p=5;

    while(n/p!=0)
    {
        k=k+n/p;
        p=p*5;
    }

    return k;
}

int rez(int l, int r, int p)
{

    if(l>r) return -1;
    if(p==0) return 1;

    int m=(l+r)/2;

    int nzc = nz(m);

    if(nzc==p)
    {
        while(nzc==p)
        {
            m=m-1;
            nzc=nz(m);
        }
        return m+1;
    }

    if(nzc<p) return rez(m+1, r, p);

    if(nzc>p) return rez(l, m-1, p);
}

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

    int p,l,r;

    fin>>p;

    fout<<rez(p,p*5,p);

    return 0;
}