Cod sursa(job #2967481)

Utilizator 222cezarCezar Stilpeanu 222cezar Data 19 ianuarie 2023 17:59:39
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
using namespace std;

ifstream cin("fact.in");
ofstream cout("fact.out");

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

int cb(int p)
{
  int st = 1, dr = 1e9, rez = -1, zzero; ///STRICT POZITIV
  while(st <= dr)
  {
    int m = (st + dr) / 2;
    int zerouri = cati_5(m);
    if(zerouri >= p)
    {
      rez = m;
      zzero = zerouri;
      dr = m - 1;
    }
    else
    {
      st = m + 1;
    }
  }
  if(zzero != p)
  {
    rez = -1;
  }
  return rez;
}

int main()
{
  int p;
  cin >> p;
  cout << cb(p);
}