Cod sursa(job #2345727)

Utilizator chriss_b_001Cristian Benghe chriss_b_001 Data 16 februarie 2019 17:17:09
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long cautbin(int n)
{
    long long p=1,u=LLONG_MAX;

    while(p<=u)
    {
        int m=(p+u)/2;
        int nr0=m/5+m/25+m/125+m/625+m/3125+m/15625+m/78125+m/390625+m/1953125+m/9765625+m/48828125+m/244140625;
        if(n>nr0)p=m+1;
        else if(n<nr0)u=m-1;
        else return m;
    }
    return -1;
}

long cautarebinara(int n)
{
    long p=1, u=400000000;int m;
    while(p <= u)
    {
        m = (p + u) / 2;
        int nr0=m/5+m/25+m/125+m/625+m/3125+m/15625+m/78125+m/390625+m/1953125+m/9765625+m/48828125+m/244140625;
        if(nr0==n)
            {
                while(m%5!=0)m--;
                return m;}
        if(nr0<n)
            p = m + 1;
        else
            u = m - 1;
    }
    return -1;
}

int main()
{
    cout<<cautarebinara(12);

    return 0;
}