Cod sursa(job #1536313)

Utilizator mihaivasilacheMIhai Vasilache mihaivasilache Data 25 noiembrie 2015 22:45:23
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long nrz(long long mij)
{
    long long i,s=0;
    i=5;
    while(i<mij)
    {
        s+=mij/i;
        i=i*5;
    }
    return s;
}
int main()
{
    long long p;
    fin>>p;
    bool ok;
    ok=0;
    long long ls,ld,mij,x;
    ls=1;
    ld=1<<32-2;
    mij=(ld+ls)/2;
    if(p==0)
        fout<<1;
    else
    {
        while(ls+1!=ld)
        {
            x=nrz(mij);
            if(p==x)
            {
                ok=1;
                break;
            }
            if(p<x)
            {
                ld=mij;
            }
            else
            {
                ls=mij;
            }
            mij=(ld+ls)/2;
        }
        if(x!=p)
            fout<<-1;
        else
        {
            while(nrz(mij)==p)
                mij--;
            mij++;
            fout<<mij;
        }
    }
    return 0;
}