Cod sursa(job #3293641)

Utilizator mateiandMatei Andone mateiand Data 12 aprilie 2025 10:56:30
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<fstream>
using namespace std;
ifstream cin("fact.in");
ofstream cout("fact.out");
int cate_zerouri_are_factorial(int n){
    int contor = 0;
    while(n){
        contor += n / 5;
        n /= 5;
    }
    return contor;
}

int main()
{
    int p;
    cin >> p;
    if(p == 0){
        cout << 1 << endl;
        return 0;
    }
    //binary search
    int stanga = 0, dreapta = 1e9, rasp;
    while(stanga <= dreapta){
        int mij = (stanga + dreapta) / 2;
        int nulls = cate_zerouri_are_factorial(mij);
        if(nulls == p){
            rasp = mij;
            dreapta = mij - 1;
        } 
        else if(nulls < p){
            stanga = mij + 1;
        }
        else{
            dreapta = mij - 1;
        }
    }
    cout << rasp << endl;

    return 0;
}