Cod sursa(job #3232313)

Utilizator Gergo123Schradi Gergo Gergo123 Data 29 mai 2024 21:29:38
Problema Factorial Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int NMAX = 1e8;

int nr_0(int m)
{
    long long p5=5,cnt=0;
    while(p5<=m)
    {
        cnt+=m/p5;
        p5*=5;
    }
    return cnt;
}

int f(int P)
{
    int st = 1, dr = NMAX, rez = -1;
    while(st <= dr)
    {
        int m = (st+dr)/2;
        if(nr_0(m) == P)
            rez = m, dr = m-1;
        if(nr_0(m) < P)
            st = m+1;
        if(nr_0(m) > P)
            dr = m-1;
    }
    return rez;
}

int main()
{
    int P;
    fin >> P;
    fout << f(P) <<endl;
    return 0;
}