Cod sursa(job #2222190)

Utilizator ce_pyCeppy Ceppilescu ce_py Data 16 iulie 2018 17:41:51
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <iostream>
#include <climits>
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int main()
{
    int p;
    fin>>p;
    int ls=1, ld=INT_MAX;
    long x, y, k;
    while(ls<=ld)
    {
        x=(ls+ld)/2;
        while(x%5!=0&&x>1)
        {
            x--;
        }
        k=0;
        for(int i=1; i<=INT_MAX; i++)
        {
            int j=i, five=1;
            while(j)
            {
                    five*=5;
                    j--;
            }
            if(x>=five)
            {
                y=x;
                while(y>=five)
                {
                    y-=five;
                    k++;
                }
            }
            else break;
        }
        if(k==p)
        {
            fout<<x;
            return 0;
        }
        else
            if(k>p)
            {
                ld=x-5;
            }
            else ls=x+5;
    }
    fout<<-1;
}