Cod sursa(job #2101115)

Utilizator AndreiCroitoruAndrei Croitoru AndreiCroitoru Data 6 ianuarie 2018 21:03:19
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream>
using namespace std;

ifstream in("fact.in");
ofstream out("fact.out");
int main()
{
    unsigned long long cc,l1,l2,p,m,c,fac,poz,i,ci;
    in>>p;
    l1=1;
    l2=2000000000;
    poz=-1;
    while(l1<=l2)
    {
        m=(l1+l2)/2;
        c=0;
        ci=5;
        while(m/ci>=1)
        {
            c+=m/ci;
            ci=ci*5;
        }
        if(c<p)
            l1=m+1;
        else
        {
            l2=m-1;
            poz=m;
            cc=c;
        }

    }
    if(cc!=p)
        out<<-1;
    else
        out<<poz;
    return 0;
}