Cod sursa(job #2261713)

Utilizator cinisug@oranek.com[email protected] [email protected] Data 16 octombrie 2018 16:28:23
Problema Factorial Scor 55
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.25 kb
#include <iostream>
#include <fstream>

using namespace std;

int nulla(int n)
{

    int counter = 0;


    for (int i = 5; n / i >= 1; i *= 5)
        counter += n / i;

    return counter;
}


int binary(int l, int r, int x)
{
   if (r > l)
   {
        int mid = (l + r)/2;

 //   cout << mid << endl;
    //if (nulla(mid) == x)
            //return mid;


        if (nulla(mid) >= x)
            return binary(l, mid, x);


        return binary(mid+1, r, x);
   }
   else
   {
       return l;
   }

}

int main()
{
    ifstream be ("fact.in");
    ofstream ki ("fact.out");

   //freopen("fact.in", "rt", stdin);
  //  freopen("fact.out", "wt", stdout);*/

    int n;

    be >> n;


    int er;
    er = binary(0,100000000,n);

    //cout << er;
    if(nulla(er)==n)
        ki << er;
    else
        ki << "-1";



   /* for(;;)
    {
        if(nulla(er)==n && nulla(er-1)!=n)
        {
            ki << er;
            break;
        }
        else
        {
            --er;
            ++tmp;

        }
        if(tmp>=0)
        {
            ki << "-1";
            break;
        }

    }*/
    //cout << er;
    be.close();
    ki.close();


    return 0;
}