Cod sursa(job #2579773)

Utilizator sipdavSipos David Oliver sipdav Data 12 martie 2020 19:33:58
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <bits/stdc++.h>

using namespace std;

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

const int oo = (int) (1e9);

int p, st, dr, m;

int nrdezero(int x)
{
    int nr = 0;
    for(int i = 5;i <= x; i *= 5) nr += x / i;
    return nr;
}

int main()
{
    in>>p;
    st = 1;
    dr = oo;
    while(st < dr)
    {
        m = st + (dr - st) / 2;
        if(nrdezero(m) < p)
            st = m + 1;
        else
            dr = m;
    }
    if(nrdezero(st) == p)
        out<<st;
    else
        out<<-1;
    return 0;
}