Cod sursa(job #883807)

Utilizator StefansebiStefan Sebastian Stefansebi Data 20 februarie 2013 13:25:45
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 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;
    if ((p == 1) or (p == 0))
        fout << 0;
    else {
        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;
            }
        }
        fout << sol;
    }
}