Cod sursa(job #2489051)

Utilizator TomKodeColev Thomas-Daniel TomKode Data 7 noiembrie 2019 21:30:13
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
unsigned long long nrz(unsigned long long x)
{
    int s,r,y=5;
    r=x/y;
    s=0;
    while(r)
    {
        s+=r;
        y*=5;
        r=x/y;
    }
    return s;
}
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)==p)
  {
      if(mij<r)
      {
          r=mij;
          ok=1;
      }
  }

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

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