Cod sursa(job #830302)

Utilizator LunguEduardLungu Eduard LunguEduard Data 6 decembrie 2012 16:56:02
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>

using namespace std;

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

int zero(int x)
{
    int nr = 0;
    while(x >= 5)
    {
        nr += x / 5;
        x /= 5;
    }
    return nr;
}

int cautare_binara(int p) //caut cel mai mare numar cu proprietatea zero(numar) < p
{
    int i = 1 , pas = 1 << 20;
    while(pas != 0)
    {
        if(zero(i + pas) < p)
            i += pas;
        pas /= 2;
    }
    return i;
}

int main()
{
    int p, n;
    in >> p;
    n = cautare_binara(p) + 1;
    if(zero(n)  == p)
        out << n;
    else
        out << -1;
    return 0;
}