Cod sursa(job #2659814)

Utilizator Asgari_ArminArmin Asgari Asgari_Armin Data 17 octombrie 2020 15:07:14
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>

using namespace std;

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

const int NMAX = 1e8;

int nrzero( int n ){
  int cnt = 0, p = 5;
  while( p <= n ){
    cnt += (n / p);
    p *= 5;
  }
  return cnt;
}

int main() {
  int n, st, dr, med;
  fin >> n;
  st = 0; dr = NMAX * 5;
  while( dr - st > 1 ){
    med = (st + dr) >> 1;
    if( nrzero(med) < n )
      st = med;
    else
      dr = med;
  }
  if( n == 0 )
    fout << 1;
  else{
    if( nrzero(dr) == n )
      fout << dr;
    else
      fout << -1;
  }
  return 0;
}