Cod sursa(job #1625752)

Utilizator eusebiu_gageaGagea Eusebiu-Andrei eusebiu_gagea Data 2 martie 2016 20:28:15
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");

int k;

int nr_0(int x)
{
    int p=5,nr=0;
    while(p<=x)
    {
        nr+=x/p;
        p*=5;
    }
    return nr;
}

int caut_bin(int st, int dr)
{
    int mij,val=-1;
    while(st<=dr)
    {
        mij=(st+dr)>>1;
        if(nr_0(mij)>=k)
        {
            val=mij;
            dr=mij-1;
        }
        else
            st=mij+1;
    }
    if(nr_0(val)==k)
        return val;
    return -1;
}

int main()
{
    f>>k;
    g<<caut_bin(1, (1<<29));
    return 0;
}


/*int nrzero(int x){
    int w = 5, Ans = 0;
    while(w <= x){
        Ans += x / w;
        w *= 5;
    }
    return Ans;
}

int binary(int st, int dr){
    int last = -1;
    while(st <= dr){
        int med = (st + dr) >> 1;
        if(nrzero(med) >= k){
            last = med;
            dr = med - 1;
        }
        else
            st = med + 1;
    }
    if(nrzero(last) == k)
        return last;
    return -1;
}*/