Cod sursa(job #2296036)

Utilizator cahemanCasian Patrascanu caheman Data 4 decembrie 2018 10:30:45
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<cstdio>

using namespace std;

int solve(int val)
{
    int cval, nr;
    cval = val;
    nr = 0;
    while(cval)
    {
        nr += cval / 5;
        cval /= 5;
    }
    return nr;
}

int cautbin(int valmax, int nrcaut)
{
    int st, dr, med, last = 1;
    st = 1;
    dr = valmax;
    while(st <= dr)
    {
        med = (st + dr) / 2;
        if(solve(med) >= nrcaut)
        {
            last = med;
            dr = med - 1;
        }
        else
            st = med + 1;
    }
    return last;
}

int main()
{
    freopen("fact.in", "r", stdout);
    freopen("fact.out", "w", stdout);
    int p, rez;
    scanf("%d", &p);
    rez = cautbin(5 * p, p);
    rez = rez - rez % 5;
    printf("%d", rez);
    return 0;
}