Cod sursa(job #1712617)

Utilizator lucametehauDart Monkey lucametehau Data 3 iunie 2016 09:49:07
Problema Factorial Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>

using namespace std;
ifstream cin("fact.in");
ofstream cout("fact.out");
long long nrzerofact(long long x)
{
    long long p5=5,nr=0;
    while(p5<=x)
    {
        nr+=x/p5;
        p5*=5;
    }
    return nr;
}
int main()
{
    long long st,dr,m,p;
    cin>>p;
    if(p==0)
        cout<<1;
    else
    {
        st=1;
        dr=100000000;
        while(st<=dr)
        {
            m=(st+dr)/2;
            if(nrzerofact(m)>=p)
                dr=m-1;
            else
                st=m+1;
        }
        if(nrzerofact(st)==p)
            cout<<st;
        else
            cout<<-1;
    }
    return 0;
}