Cod sursa(job #2881867)

Utilizator MerlinTheWizardMelvin Abibula MerlinTheWizard Data 30 martie 2022 23:09:39
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<iostream>
#include<fstream>
using namespace std;

ifstream f("fact.in");
ofstream g("fact.out");

long long nr_zero;
long long st = 1, dr = 1e17,  rez = -1;

int esteok(long long mij)
{
    long long k = 5;
    long long n1 = 0;   
    while(k <= mij)
    {
        n1 = n1 + mij/k;
        k = k * 5;
        if(n1 > nr_zero)
            return 1;
        //cout<<n1<<" "<<k<<"\n";
    }
    if(n1 == nr_zero)
        return 2;
    else if(n1>nr_zero)
            return 1;
    else
        return 0;
}

void CautBin()
{
    while(st <= dr)
    {
        long long mij = st+(dr-st)/2;
        cout<<st<<" "<<dr<<" "<<mij<<"\n";
        int adev = esteok(mij);
        cout<<adev<<" ";
        if(adev == 1 || adev == 2)
        {
            if(adev==2)
                rez=mij;
            dr=mij-1;
        }
        else
            st=mij+1;
    }
    g<<rez;
}


int main()
{
    f>>nr_zero;
    CautBin();
}