Cod sursa(job #2578566)

Utilizator corvinus2003Corvin Ghita corvinus2003 Data 11 martie 2020 11:47:51
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>

using namespace std;

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

int nrzero(int n)
{
    int nr = 0;
    while (n >= 5)
    {
        nr = nr + n / 5;
        n = n / 5;
    }
    return nr;
}

int caut(int p)
{
    int pos, nextpos;
    pos = 0;
    for (int i = 28; i >= 0; --i)
    {
        nextpos = 1 << i;
        if (nrzero(pos + nextpos) < p)
            pos = pos + nextpos;
    }
    return pos + 1;
}

int main()
{
    //caut binar primul n care are suficienti de 5 ca sa imi faca atatea cifre de 0
    //caut doar 5 pentru ca am mult mai multe cifre de 2 ca sa imi faca 0
    //p = 10, => primul n care are de la 1 la n 10 factori de 5 in produs
    int p;
    cin >> p;
    cout << caut(p);
    return 0;
}