Cod sursa(job #2222820)

Utilizator YusyBossFares Yusuf YusyBoss Data 18 iulie 2018 07:55:38
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>

using namespace std;

long long nrz (long long a) {
  long long put5, sol;
  put5 = 5;
  sol = 0;
  while (put5 <= a) {
    sol += a / put5;
    put5 *= 5;
  }
  return sol;
}

long long cb (int p) {
  long long st, dr, mij, z, sol;
  st = 1;
  dr = 20000000000LL;
  while (st <= dr) {
    mij = (st + dr) / 2;
    z = nrz(mij);
    if (z >= p) {
     sol = mij;
     dr = mij - 1;
    }
    else
      st = mij + 1;
  }
  if (nrz(sol) == p)
    return sol;
  else
    return -1;
}

int main() {
  ifstream cin ("fact.in");
  ofstream cout ("fact.out");
  int p;
  cin >> p;
  cout << cb(p);
  return 0;
}