Cod sursa(job #1327591)

Utilizator TodeTodeAlexandru Toderica TodeTode Data 26 ianuarie 2015 21:22:19
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>

using namespace std;

int main()
{
    int n, c;
    long long st, dr, m, x;
    st = 1; dr = 1000000000;
    ifstream fin("fact.in");
    fin >> n;
    fin.close();
    ofstream fout("fact.out");
    while(st <= dr)
    {
        m = (st + dr) / 2;
        x = m;
        c = 0;
        while(m)
        {
            c += m / 5;
            m /= 5;
        }
        if(c == n)
        {
            if(x - x % 5 == 0) fout << "1";
            else fout << x - x % 5;
            dr = -1;
        }
        else if(c > n) dr = (st + dr) / 2 - 1;
        else st = (st + dr) / 2 + 1;
    }
    if(dr != -1) fout << "-1";
    fout.close();
    return 0;
}