Cod sursa(job #2349119)

Utilizator Vasilescu_CosminVasilescu Cosmin Vasilescu_Cosmin Data 20 februarie 2019 10:37:20
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");

int main()
{
    int n,m,nr0,lst=1,ldr,c,p;
    in>>n;
    ldr=5*n;
    if(n==0)
    {
        out<<1;
        return 0;
    }
    while(lst <= ldr)
    {
        m = (lst + ldr) / 2;
        c=0;
        p=5;
        while(m >= p)
        {
            c += m / p;
            p *= 5;
        }
        nr0=c;
        if(nr0==n)
        {
            m-=m%5;
            out<<m;
            return 0;
        }
        else if(nr0<n)
            lst = m + 1;
        else
            ldr = m - 1;
    }
    out<<-1;
    return 0;
}