Cod sursa(job #2337626)

Utilizator Radu_FilipescuFilipescu Radu Radu_Filipescu Data 6 februarie 2019 16:22:16
Problema Factorial Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>

using namespace std;

ifstream fin( "fact.in" );
ofstream fout( "fact.out" );

const int INF = 2000000000;

int K;

int NrZerouri( int val )
{
  int ans = val / 5;

  int aux = 5 * 5;
  while( aux <= val )
  {
    ans += val / aux;
    aux *= 5;
  }

  return ans;
}

int BinSearch( int lf, int rg )
{
  if( lf > rg ) return INF;

  int mid = ( lf + rg ) / 2;
  int rez;

  rez = NrZerouri( mid );

  if( rez > K ) return BinSearch( lf, mid - 1 );
  if( rez < K ) return BinSearch( mid + 1, rg );

  return min( mid, BinSearch( lf, mid - 1 ) );
}

int main()
{
  fin >> K;

  int res = BinSearch( 1, 10000000 );

  fout << res << '\n';

  return 0;
}