Cod sursa(job #1600286)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 14 februarie 2016 20:39:36
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>

using namespace std;

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

typedef unsigned long long ULL;
const ULL INF =-1;
int p;

int ndiv(ULL n)
{
    ULL nrd = 0;
    while (n > 0)
        nrd += n/5, n /= 5;
    return nrd;
}

void cb (ULL l, ULL r)
{
    ULL mid, x;
    while (l <= r)
    {
        mid = l+((r-l)/2);
        x = ndiv(mid);
        if (x < p)
            l = mid+1;
        else
            r = mid-1;
    }
    if (ndiv(l) == p)
        g << l;
    else
        g << "-1";
}

int main()
{
    f >> p;
    cb (1, INF);
    return 0;
}