Cod sursa(job #2987707)

Utilizator CrullTCrull Thomas CrullT Data 2 martie 2023 18:19:09
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <climits>

using namespace std;

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

int verif (long long n)
{
    long long fact=5;
    int cnt=0;
    while(fact<=n)
    {
        cnt+=n/fact;
        fact*=5;
    }
    return cnt;
}

int main()
{
    long long p,st=1,dr=INT_MAX,m,q;
    in>>p;
    if(p==0)
    {
        out<<1;
        return 0;
    }
    while(st<=dr)
    {
        m=((st+dr)/2)*5;
        q=verif(m);
        if(q<p)
            st=(m+5)/5;
        else if(q>p)
            dr=(m-5)/5;
        else
        {
            out<<m;
            return 0;
        }
    }
    out<<-1;
    return 0;
}