Cod sursa(job #1038006)

Utilizator fustosroberttFustos Robert fustosrobertt Data 20 noiembrie 2013 22:06:49
Problema Factorial Scor 100
Compilator cpp Status done
Runda cei_mici_2 Marime 0.65 kb
#include<fstream>
using namespace std;

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

int p, prod;

int putere(int m, int p)
{
    int put=0, k=5, s=0;
    while(k<=m)
    {
        s=s+m/k;
        k*=5;
    }
    return s;
}

int bsearch(int i, int j, int p)
{
    int m=(i+j)/2;
    if(i>j) return 0;
        else if (putere(m,p)==p && m%5==0) return m;
                else if (putere(m,p)<p) return bsearch(m+1,j,p);
                    else return bsearch(i,m-1,p);
}
int main ()
{

    f>>p;
    if(p==0) prod=1;
        else prod=bsearch(0, 5*p, p);
    if(prod==0) g<<-1<<'\n';
        else g<<prod<<'\n';
    return 0;
}