Cod sursa(job #1598909)

Utilizator oanaroscaOana Rosca oanarosca Data 13 februarie 2016 14:15:53
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <fstream>

using namespace std;

int p, s, d, m, z, minim = 2e9;

int zerouri (int n) {
  int z = 0;
  while (n >= 5)
    z += n/5, n /= 5;
  return z;
}

int main () {
  ifstream fi("fact.in");
  ofstream fo("fact.out");
  fi >> p; s = 1, d = 2e9;
  while (s <= d) {
    m = (s+d)/2; z = zerouri(m);
    if (z == p)
      minim = min(minim, m);
    z < p ? s = m+1 : d = m-1;
  }
  minim == 2e9 ? fo << -1 : fo << minim;
  return 0;
}