Cod sursa(job #2081463)

Utilizator SmitOanea Smit Andrei Smit Data 4 decembrie 2017 18:55:50
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>

using namespace std;

long long n,P;

long long NrZeroes(long long x)
{
    long long ans;
    ans=0;
    while(x>0)
    {
        ans+=(x/5);
        x/=5;
    }
    return ans;
}

int main()
{
    ifstream fin("fact.in");
    fin>>P;
    fin.close();

    long long st,dr,mijl,sol=0,nrz;
    st=1;
    dr=2000000000000000000;
    while(st<=dr)
    {
        mijl=st+(dr-st)/2;
        nrz=NrZeroes(mijl);
        if(nrz==P)
        {
            sol=mijl;
            dr=mijl-1;
        }
        if(nrz>P)
            dr=mijl-1;
        if(nrz<P)
            st=mijl+1;
    }
    ofstream fout("fact.out");
    fout<<sol<<"\n";
    fout.close();
    return 0;
}