Cod sursa(job #1003932)

Utilizator acomAndrei Comaneci acom Data 1 octombrie 2013 19:44:20
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<fstream>
#include<climits>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long n;
long long term(long long k)
{
    long long r=5,rez=0;
    while (k/r)
        {
            rez+=k/r;
            r*=5;
        }
    return rez;
}
int main()
{
    long long m,st=1,dr=LLONG_MAX;
    f>>n;
    while (st<=dr)
        {
            m=(st+dr)/2;
            if (term(m)>=n) dr=m-1;
            else st=m+1;
        }
    if (term(dr+1)==n)
        g<<dr+1<<'\n';
    else g<<"-1\n";
    return 0;
}