Cod sursa(job #2913318)

Utilizator Tudor_EnacheEnache Tudor Tudor_Enache Data 13 iulie 2022 21:13:27
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>

#define DR (1 << 29)
using namespace std;

ifstream cin("fact.in");
ofstream cout ("fact.out");

int cate_zero(int n){
    int nr = 0;
    while (n >=5)
    {
        nr+= (n/5);
        n /=5;

    }
    return nr;
}

int caut_binara(int p){
    int st = 1, dr = DR, rez = DR+1;
    while (st <= dr){
            cout << "dr = " << dr << endl;
        int mij = (st + dr)/2;
        if (cate_zero(mij) >= p)
        {
            rez = mij;
            dr = mij-1;
        }
        else
        {
            st = mij+1;
        }
    }
    return rez;
}

int main(){
    int n,p;
    cin >> p;
    n = caut_binara(p);
    if (cate_zero(n) != p)
        n = -1;
    cout << n;
}