Cod sursa(job #3279886)

Utilizator happyplaneDragos Miu-Baldu happyplane Data 24 februarie 2025 18:26:30
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int NrZero(int n)
{
  int sum = n;
  while (n!=0)
  {
    sum+=n/5;
    n/=5;
  }
  return sum;
}
int main()
{
  int nr_zero;
  fin>>nr_zero;
  int left=0,right=80'000'003;
  int mid=(left+right)/2;
  int zero_mid=NrZero(mid);
  while(left<=right)
  {
    mid=(left+right)/2;
    zero_mid=NrZero(mid);
    if(zero_mid<nr_zero)
      left=mid+1;
    else
      right=mid-1;
    if(zero_mid==nr_zero)
      break;
  }
  if (zero_mid!=nr_zero)
    fout<<-1;
  else if(mid==0)
    fout<<1;
  else
    fout<<5*mid;
  return 0;
}