Cod sursa(job #1892001)

Utilizator Storm_FireFox1Matei Gardus Storm_FireFox1 Data 24 februarie 2017 16:09:26
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>

using namespace std;

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

int n2, n;

int check(int x)
{
    int sol = 0;
    for(int i = 5; i <= x; i *= 5)
    {
        sol += x / i;
    }
    return sol;
}

int cautbin(int x)
{
    int sol = 5*n + 1;
    for(int i = n2; i > 0; i /= 2)
    {
        if(sol - i >= 1 && check(sol - i) >= x)
        {
            sol -= i;
        }
    }
    if(check(sol) == x)
    {
        return sol;
    }
    else
    {
        return -1;
    }

}

int main()
{
    fin >> n;
    for(n2 = 1; n2 * 2 < 5*n; n2 *= 2)
    {
    }
    fout << cautbin(n);
    return 0;
}