Cod sursa(job #1364589)

Utilizator VladDumitrascuDumitrascu Vlad VladDumitrascu Data 27 februarie 2015 18:50:21
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#define Nmax 400000015
using namespace std;
int main ()
{
    int p,n,ls,g=0,f,x;
    unsigned long long ld;
    ifstream f1("fact.in");
    ofstream f2("fact.out");
    f1>>p;
    if(p==0) f2<<1;
    else
    {
        ls=5;
        ld=Nmax;
        while(ls<=ld && g==0)
        {
            n=(ls+ld)/2;
            x=0;
            f=5;
            while(f<=n)
            {
                x+=n/f;
                f*=5;
            }
            if(x==p)
            {
                f2<<(n/5)*5;
                g=1;
            }
            else if(x<p) ls=n+1;
            else
                ld=n-1;

        }
        if(g==0) f2<<-1;
    }
    return 0;
}