Cod sursa(job #2603799)

Utilizator popashtefan10Popa Stefan popashtefan10 Data 20 aprilie 2020 21:29:56
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <cstdio>

using namespace std;

long long p;

long long count5(long long num) {
  long long p5 = 1, ans = 0;
  do {
    p5 *= 5;
    ans += num / p5;
  } while(num / p5 > 1);
  return ans;
}

long long cb(long long st, long long dr) {
  long long mij, last = -1;

  while(st <= dr) {
    mij = (st + dr) / 2;
    long long c5 = count5(mij);

    if(c5 >= p) {
      if(c5 == p) last = mij;
      dr = mij - 1;
    }
    else
      st = mij + 1;
  }

  return last;
}

int main() {
  freopen("fact.in", "r", stdin);
  freopen("fact.out", "w", stdout);

  scanf("%lld", &p);
  printf("%lld", cb((long long)1, (long long)9000000000000000000));

  return 0;
}