Cod sursa(job #2502360)

Utilizator Ionut10Floristean Ioan Ionut10 Data 30 noiembrie 2019 18:47:17
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

using namespace std;

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

int p;
int st, dr;

int nr_0(int x)
{
    long long numitor = 5;//nr prim
     long long p = 0; //putere

      while(numitor <= x)
      {
          p = p + x / numitor;
          numitor = numitor*5;
      }
      return p;
}
int main()
{
    fin>>p;
    if(p == 0)
    {
        fout<<1;
        return 0;
    }
    st = 5; dr = 10e8;
    while(st <= dr)
    {
        int mij = st + (dr - st) / 2;
        if(nr_0(mij) == p)
        {
            fout<<(int)(mij / 5) * 5;
            return 0;
        }
        else if(nr_0(mij) < p)
                st = mij + 1;
             else dr = mij - 1;
    }
    return 0;
}