Cod sursa(job #2831687)

Utilizator antonio_sefu_tauLaslau Antonio antonio_sefu_tau Data 11 ianuarie 2022 21:25:10
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>

using namespace std;

int p;

int nr_zero(int n)
{
    int put = 5, sol = 0;
    while(n >= put)
    {
        sol += n / put;
        put *= 5;
    }
    return sol;
}

int main()
{
    ifstream f("fact.in");
    ofstream g("fact.out");
    f >> p;
    if(p == 0)
    {
        g << 1;
        return 0;
    }
    int left = 1, right = 1000000000;
    while(left <= right)
    {
        int mid = (left + right) / 2;
        if(nr_zero(mid) == p)
        {
            g << mid - mid % 5;
            return 0;
        }
        else
            if(nr_zero(mid) < p)
            left = mid + 1;
        else
            right = mid - 1;
    }
    g << -1;
    return 0;
}