Cod sursa(job #2068014)

Utilizator Mihai145Oprea Mihai Adrian Mihai145 Data 17 noiembrie 2017 08:54:01
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("factorial.in");
ofstream fout("factorial.out");
int p;
int verif(int limit)
{
    int i, ii, ct=0;
    for(i=5; i<=limit; i+=5)
    {
        ii=i;
        while(ii%5==0)
        {
            ii/=5;
            ct++;
        }
    }
    return ct;
}
int main()
{
    int st, dr, mijl, x;
    fin>>p;
    if(p==0)
    {
        fout<<1<<'\n';
        return 0;
    }
    st=1, dr=p*5;
    while(st<=dr)
    {
        mijl=(st+dr)/2;
        x=verif(mijl);
        if(x==p)
        {
            while(mijl%5!=0)
                mijl--;
            fout<<mijl<<'\n';
            return 0;
        }
        if(x>p)
            dr=mijl-1;
        else
            st=mijl+1;
    }
    fout<<-1<<'\n';
    return 0;
}