Cod sursa(job #2550540)

Utilizator matthriscuMatt . matthriscu Data 18 februarie 2020 20:53:27
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <iostream>
using namespace std;

int p;

int putere(int k){
    int nr = 0, y = 5;
    while(k >= y) {
        nr += k / y;
        y *= 5;
    }
    return nr;
}

int cb() {
    if(p == 0)
        return 1;
    int st = 1, dr = 200000000, m, pm;
    while(st <= dr) {
        m = (st+dr)/2;
        pm = putere(m);
        if(pm == p)
            return m - m % 5;
        else if(pm > p)
            dr = m-1;
        else
            st = m+1;
    }
}

int main() {
    ifstream fin("fact.in");
    fin >> p;
    fin.close();
    ofstream fout("fact.out");
    fout << cb();
    fout.close();
    return 0;
}