Cod sursa(job #883794)

Utilizator StefansebiStefan Sebastian Stefansebi Data 20 februarie 2013 13:18:51
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int i, p, st, dr, mijl, cat5, sol;

int cate5 (int x) {
    int nr = 0;
    while (x) {
        nr = nr + x / 5;
        x = x / 5;
    }
    return nr;
}

int main() {
    fin >> p;
    st = 1; dr = 500000000;
    sol = -1;
    while (dr >= st) {
        mijl = (dr + st) / 2;
        cat5 = cate5(mijl);
        if (cat5 < p)
            st = mijl + 1;
        if (cat5 > p)
            dr = mijl - 1;
        if (cat5 == p) {
            sol = mijl;
            dr = mijl - 1;
        }
    }
    if (p == 1)
        fout << 0;
    else
        fout << sol;
}