Cod sursa(job #2491788)

Utilizator sygAndreiIonitaIonita Andrei sygAndreiIonita Data 13 noiembrie 2019 09:45:45
Problema Factorial Scor 90
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");

long long fact(long long a)
{
  long long cnt=0,pow=5;
  while (pow<=a)
       {
         cnt+=a/pow;
         pow*=5;
       }
  return cnt;
}

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


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