Cod sursa(job #2489044)

Utilizator TomKodeColev Thomas-Daniel TomKode Data 7 noiembrie 2019 21:26:41
Problema Factorial Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
unsigned long long nrz(unsigned long long x,unsigned long long put)
{
    if(x/put)
        return x/put + nrz(x,put*5);
}
int main()
{
    unsigned long long p,x=5,aux,st=1,mij;
    int ok=0;
    fin>>p;
    unsigned long long dr=p*10;
    unsigned long long r=dr;
    if(!p)
        fout<<1;
    else{
while(st<=dr)
{
   mij=(st+dr)/2;
  if(nrz(mij,5)==p)
  {
      if(mij<r)
      {
          r=mij;
          ok=1;
      }
  }

  if(nrz(mij,5)>=p)
    dr=mij-1;
    else
        st=mij+1;

}
if(ok)
    fout<<r;
else
    fout<<-1;
    }
    }