Cod sursa(job #2785445)

Utilizator Dayana1900Dayana Babtan Dayana1900 Data 18 octombrie 2021 18:16:49
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int nr_zero(int n)
{
    int nr=0;
    for(int i=5;i<=n;i=i*5)
    {
        nr=nr+n/i;
    }
    return nr;
}

int main()
{
    int p,n,st,dr,mij;
    in>>p;
    st=1;
    dr=2000000000;
    int c=0,ok=0;
    while(st<=dr && ok==0)
    {
        mij=(st+dr)/2;
        int x=nr_zero(mij);
        if(x==p)
        {
            c=mij;
            ok=1;
        }
        else if(x<p)
        {
            st=mij+1;
        }
        else
            dr=mij-1;
    }
    if(ok==0)
        out<<-1;
    else if(c-c%5==0)
        out<<1;
    else
        out<<c-c%5;
    return 0;
}