Cod sursa(job #3166134)

Utilizator Linca_AmaliaLinca Mihaela Amalia Linca_Amalia Data 7 noiembrie 2023 19:09:11
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>

using namespace std;


ifstream fin("fact.in");
ofstream fout("fact.out");

int P, mid;

int nr5(int x){
    int p = 5;
    int nr = 0;
    while ( p <= x ){
        nr += x/p;
        p *= 5;
    }
    return nr;
}

int main(){

    fin >> P;

    int st = 1;
    int dr = 2e9;

    while ( st <= dr ){
        mid = (st + dr)/2;
        if ( nr5(mid) < P )
            st = mid + 1;
        else
            dr = mid - 1;
    }
    if ( nr5(st) == P )
        fout << st;
    else
        fout << "-1";

    return 0;
}