Cod sursa(job #1888840)

Utilizator mesbotMeszaros Botond mesbot Data 22 februarie 2017 12:57:04
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>

long long int p, n, nup, ndown = -1, help;

bool less_(long long int num)
{
    n = 0;
    while(num != 0)
        num /= 5, n += num;

    return (n < p);
}

void search_min()
{
    if(ndown < nup)
        if(less_(ndown))
        {
            if((nup + ndown)/2 < nup-1)
                ndown = (nup + ndown)/2, search_min();
            else
                ndown = nup;
        }
}

int main()
{
    std::ifstream f("fact.in");
    std::ofstream g("fact.out");

    f>>p;

    if(p == 0) ndown = 1;

    else if(p >= 0)
        ndown = 1, nup = p*5, search_min();

    while(!less_(ndown-1))
        ndown--;

    g<<ndown<<"\n";

    return 0;
}

/*
int main()
{
    std::ifstream f("fact.in");
    std::ofstream g("fact.out");

    f>>p;

    for(int i = 1; i<=200; i++)
    {
        p = i;

        if(p != 0)
            ndown = p, nup = p*5, search_min();

        /*while(fact(ndown-1))
            ndown--;

        g<<ndown<<"\n";
    }

    return 0;
}

*/