Cod sursa(job #2708256)

Utilizator SabinnSabinZibileanu Sabinn Data 18 februarie 2021 14:47:38
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");

int main()
{
    unsigned long nrzerouri,st=0,dr=2000000000,cautat=0,x,auxiliar,mijloc;
    fin >> nrzerouri;
    if(nrzerouri==1)
    {
        fout << "1" << " ";
        return 0;
    }
    else
    {
        while(st<=dr && !cautat)
        {
             mijloc=(st+dr)/2;
             auxiliar=mijloc;
             x=0;
            while(auxiliar)
            {
                x=x+auxiliar/5;
                auxiliar=auxiliar/5;
            }
            if(x==nrzerouri) cautat=mijloc;
            else
                if(x<nrzerouri)
                st=mijloc+1;
            else
                dr=mijloc-1;
        }
    }
    if(!cautat)
        fout << "-1";
    else
        fout << cautat-cautat%5;
    return 0;
}