Cod sursa(job #1695181)

Utilizator llalexandruLungu Alexandru Ioan llalexandru Data 26 aprilie 2016 18:26:30
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#define inf 1000000000

using namespace std;

ifstream fin("factorial.in");
ofstream fout("factorial.out");


long long V[100], st, fi, mijl, n;

long long cnt(int x)
{
    long long i, tot=0;
    for (i=1; V[i-1]<=inf; i++)
    {
        tot += x/V[i];
        if (V[i]>x)
            break;
    }
    return tot;
}



int main()
{
    int i, sol=-1;
    fin>>n;
    st=1; fi=inf;
    V[0]=1;
    for (i=1; V[i-1]<=inf; i++)
    {
        V[i]=V[i-1]*5;
    }
    while (st<=fi)
    {
        mijl=(st+fi)/2;
        if (cnt(mijl)==n)
        {
            sol=mijl;
            fi=mijl-1;
        }
        else
            if (cnt(mijl)>n)
            {
                fi=mijl-1;
            }
            else
            {
                st=mijl+1;
            }
    }
    fout<<sol;
    return 0;
}