Cod sursa(job #2315435)

Utilizator ProgrammerDenis Teodor Boicu Programmer Data 9 ianuarie 2019 22:55:09
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>

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

int p;

int prim(int n)
{ int i, val = 0;
  for(i = 5; n / i >= 1; i *= 5)
      val += (n / i);
  return val;
}

int main()
{
    fin>>p;
  if(p==0)
    {
        fout<<1;
         return 0;
    }
  else
    if(p == 1)
    {
        fout <<5 ;
        return 0;
    }
  int s = 1,d = 2000000000, m;
  while(s <= d)
        {
            m=(s+d)/2;
          if(prim(m)==p)
          {
              fout << m / 5 * 5;
          return 0;
          }
          else
            if(prim(m) <p )
            s  =m+1;
            else
            d = m-1;
        }

  fout << -1;
    return 0;
}