Cod sursa(job #2841381)

Utilizator Vlad_NistorNIstor Vlad Vlad_Nistor Data 29 ianuarie 2022 17:38:40
Problema Factorial Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>
using namespace std;

int zerouri(int n){
    int nr = 0;
    int pwr = 5;
    while(n >= pwr){
        nr+= n/pwr;
        pwr *= 5;
    }
    return nr;
}

int main(void){
    ofstream cout("fact.out");
    ifstream cin("fact.in");
    int p;
    cin >> p;
    //cautam binar de la 1 .... 10^8
    int st = 1;
    int dr = 1e8;
    int mij = 0;
    int n = -1;
    while(st <= dr){
        mij = (st+dr) / 2;
        int zr = zerouri(mij);
        if(zr == p){
            n = mij;
            dr = mij-1;
        }else if(zr < p){
            st = mij + 1;
        }else{
            dr = mij-1;
        }
    }
    cout << n;
}