Cod sursa(job #2743770)

Utilizator mihaicrisanMihai Crisan mihaicrisan Data 23 aprilie 2021 14:56:10
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>

using namespace std;

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

int nrZero (int x){
    long long p = 5, s = 0;
    while (p < x){
        s += x / p;
        p *= 5;
    }
    return s;
}

int main()
{
    int p, st, dr, sol;
    fin >> p;
    st = 1, dr = 10000000000;
    while (st <= dr){
        int mid = (st + dr) / 2;
        if (nrZero(mid) >= p){
            sol = mid;
            dr = mid - 1;
        }
        else
            st= mid + 1;
    }
    if (nrZero(sol) == p)
        fout << sol;
    else
        fout << -1;
    return 0;
}