Cod sursa(job #2491787)

Utilizator sygAndreiIonitaIonita Andrei sygAndreiIonita Data 13 noiembrie 2019 09:44:27
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>

using namespace std;

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

int nr0(long long a)
{
  long long powe=5,cnt=0;
  while (powe<=a)
  {
    cnt=cnt+a/powe;
    powe=powe*5;
  }
  return cnt;
}

long long ctbin (long long val)
{
  long long pos=0;
  for (long long msk=1<<30;msk>0;msk/=2)
  {
    if (nr0(pos+msk)<=val)
        pos=pos+msk;
  }
  if (nr0(pos)!=val)
    return -1;
  else
  {
    while (nr0(pos)==val)
        pos--;
    return pos+1;
  }
}


int main()
{
    long long n;
    in>>n;
    if (n==0)
        out<<1;
    else
        out<<ctbin(n);
    return 0;
}