Cod sursa(job #2348178)

Utilizator chriss_b_001Cristian Benghe chriss_b_001 Data 19 februarie 2019 14:39:54
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");

int nrz(int x)
{
    int e = 0, p = 5;
    while(x >= p)
    {
        e += x / p;
        p *= 5;
    }
    return e;
}

long cautarebinara(int n)
{
    long p=1, u=1000000000;int m;
    if(n==0)return 1;
    while(p <= u)
    {
        m = (p + u) / 2;
        int nr0=nrz(m);
        if(nr0==n)
            {
                while(m%5!=0)m--;
                return m;}
        if(nr0<n)
            p = m + 1;
        else
            u = m - 1;
    }
    return -1;
}

int main()
{
    int p;
    f>>p;
    g<<cautarebinara(p);
    return 0;
}