Cod sursa(job #3003517)

Utilizator imusescuMusescu Ilinca imusescu Data 15 martie 2023 19:29:29
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>

using namespace std;
int nr_zero(int n)
{
    int nr=0;
    while(n>=5)
    {
        nr+=n/5;
        n/=5;
    }
    return nr;
}
int main()
{
    ifstream in("fact.in");
    ofstream out("fact.out");
    int p;
    in>>p;
    if(p==0)
    {
        out<<1;
        return 0;
    }
    int st=0,dr=5e8,rez=dr+1;
    while(st<=dr)
    {
        int m=(st+dr)/2;
        if(nr_zero(m)>=p)
        {
            rez=m;
            dr=m-1;
        }
        else
            st=m+1;
    }
    if(nr_zero(rez)==p)
        out<<rez;
    else
        out<<-1;
    return 0;
}