Cod sursa(job #2699591)

Utilizator razviOKPopan Razvan Calin razviOK Data 25 ianuarie 2021 09:15:53
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long p,low=1,high=922337203685477580;
long long mid;
long long functie(long long val)
{
    long long rez=0,a=5;
    while(val/a>0)
    {
        rez=rez+val/a;
        a=a*5;
    }
    return rez;
}
int main()
{
    f>>p;
    if(p==0)
        g<<1;
    else
    {
        while(low<high)
        {
            mid=low+(high-low)/2;
            if(functie(mid)>=p)
                high=mid;
            else low=mid+1;
        }
        mid=low+(high-low)/2;
        if(functie(mid)==p)
            g<<mid;
        else g<<-1;
    }

    return 0;
}