Cod sursa(job #2785433)

Utilizator peterimaria175@gmail.comMaria Peteri [email protected] Data 18 octombrie 2021 17:57:02
Problema Factorial Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("fact.in");
ofstream out ("fact.out");
int nrzero(int n)
{
    int nr=0;
    for(int i=5; i<=n; i=i*5)
    {
        nr=nr+n/i;
    }
    return nr;
}
int main()
{
    /*
       int n,p;
       in>>p;
       n=1;
       int s=0;
       int c=5;
       bool ok;
       do
       {
           ok=1;
           while(c<=n)
       {
           s=s+n/c;
           c=c*5;
       }
       if(s!=p)
       {
           s=0;
           c=5;
           n=n+1;
           ok=0;
       }
       }while(ok!=1);
       out<<n;

    */
    int n,p;
    in>>p;
    int st=1,dr=2000000000,c,mij;
    bool ok=0;
    while(st<=dr && ok==0)
    {
        mij=(st+dr)/2;
            int x=nrzero(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
        out<<c-c%5;
    return 0;
}