Cod sursa(job #2416752)

Utilizator vlad082002Ciocoiu Vlad vlad082002 Data 28 aprilie 2019 00:29:04
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <iostream>
#include <fstream>
using namespace std;

int p, n = -1;

long fact(long n) {
    int rez = 0;
    for(int i = 5; i <= n; i *= 5)
        rez += n/i;
    return rez;
}

int bin(int st, int dr) {
    if(st <= dr) {
        int mij = (st + dr) / 2;
        long nrcif = fact(mij);
        if(nrcif == p) {
            n = mij;
            return bin(st, mij-1);
        } else if(nrcif > p) {
            return bin(st, mij-1);
        } else {
            return bin(mij+1, dr);
        }

    } else
        return n;



}

int main() {
    ifstream f("fact.in");
    ofstream g("fact.out");
    cin >> p;
    if(p == 0)
        cout << 1;
    else
        cout << bin(1, p*5);

    f.close();
    g.close();
    return 0;
}