Cod sursa(job #2261675)

Utilizator cinisug@oranek.com[email protected] [email protected] Data 16 octombrie 2018 16:04:34
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <iostream>
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, long r, int x)
{
   if (r >= l)
   {
        int mid = (l + r)/2;


        if (nulla(mid) == x)
            return mid;


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


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


   return -1;
}

int main()
{
    int n;
    cout << "N= ";
    cin >> n;


    int er;
    er = binary(0,100000000,n);
    int tmp=-5;


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

        }
        if(tmp>=0)
        {
            cout << "Nincs;";
            break;
        }

    }




    return 0;
}