Cod sursa(job #1726891)

Utilizator Emy1337Micu Emerson Emy1337 Data 9 iulie 2016 12:58:34
Problema Factorial Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

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

inline long long f(int m)
{
    return m/5 + m/25 + m/125 + m/625 + m/3125 + m/15625 + m/78125 + m/390625 + m/1953125 + m/9765625 + m/48828125;
}

int cb(int p)
{
    int st = 1, dr = 100000000, m, last = -1;

    while(st<=dr)
    {
        m = (st+dr)/2;

        if( f(m) >= p )
        {
            last = m;
            dr = m-1;
        }
        else
            st = m+1;

    }
    if (f(last) == p)
        return last;
    else return -1;
}

int main()
{
    int p;
    fin>>p;
    fout<<cb(p);

}