Cod sursa(job #2776140)

Utilizator PierrePierre Alex Pierre Data 18 septembrie 2021 18:33:28
Problema Factorial Scor 25
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int nr_de_zerouri(int n);

int main()
{
    int p;
    fin >> p;
    int n = -1;
    int l = 1,r = 100000000, m,k;
    while(l <= r)
    {
        m = (l + r) / 2;
        k = nr_de_zerouri(m);
        if(k == p)
        {
            n = m;
            break;
        }
        if(k > p)
        {
            r = m - 1;
        }
        else
        {
            l = m + 1;
        }
    }
    fout << n;
    fin.close();
    fout.close();
    return 0;
}

int nr_de_zerouri(int n)
{
    int nr = 0, k = 5;
    while(n / k)
    {
        nr += n / k;
        k *= 5;
    }
    return nr;
}