Cod sursa(job #3156625)

Utilizator AlexandruBenescuAlexandru Benescu AlexandruBenescu Data 11 octombrie 2023 22:06:15
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");

int n;

int zeroes(int p) {
  int ans = 0;
  while (p) {
    ans += p / 5;
    p /= 5;
  }
  return ans;
}

int main() {
  fin >> n;
  if (n == 0) {
    fout << "1\n";
    return 0;
  }
  int le = 0, ri = 5 * n + 1, best = ri;
  while (le <= ri) {
    int mid = (le + ri) / 2;
    if (zeroes(mid) >= n) {
      best = mid;
      ri = mid - 1;
    }
    else
      le = mid + 1;
  }
  if (zeroes(best) != n)
    best = -1;
  fout << best << "\n";
  return 0;
}