Cod sursa(job #2612021)

Utilizator buhaidarius@gmail.comBuhai Darius [email protected] Data 7 mai 2020 23:39:09
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>

using namespace std;

long nr_0(long x){
    long pow = 5, nr = 0;
    while(x/pow>0){
        nr+=x/pow;
        pow*=5;
    }
    return nr;
}

int caut_binar(int l, int r, int p){
    if(l>r) return -1;
    int md = (l+r)/2, nr = nr_0(md);
    if(nr==p) return md;
    if(nr>p) return caut_binar(l, md, p);
    return caut_binar(md+1, r, p);
}

int main() {
    ifstream fin("fact.in");
    ofstream fout("fact.out");
    long p;
    fin>>p;
    if(p==0) fout<<1;
    else{
        long closest = caut_binar(1, 10*p, p);
        while(nr_0(--closest)==p);
        fout<<1+closest;
    }
    return 0;
}