Cod sursa(job #2596289)

Utilizator victorzarzuZarzu Victor victorzarzu Data 9 aprilie 2020 15:51:17
Problema Factorial Scor 55
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>
#define maxn 1e8
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long n, a, b, res;

long long zeros(long long x)
{
  long long res = 0, div = 5;
  cout<<x<<'\n';
  while(x / div)
  {
   res += x / div;
   div *= 5;
  }
  cout<<'\n';
  return res;
}

int main()
{
  f>>n;
  a = 1;
  bool found = false;
  b = maxn;
 while(a < b)
 {
   long long mid = (a + b) / 2;
   res = zeros(mid);
   if(res > n)
    b = mid - 1;
   else if(res < n)
    a = mid + 1;
   else
    b = mid, found = true;
 }
 if(!found)
  g<<-1<<'\n';
 else
{
  while(zeros(a - 1) == n)
    --a;
  g<<a<<'\n';
}
}