Cod sursa(job #2051165)

Utilizator rares22iunieDoroftei Rares rares22iunie Data 28 octombrie 2017 16:49:52
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <cstdio>
#include <iostream>
using namespace std;
long l1,l2,p,n,mijl,nr,x,put;
int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    cin>>p;
    if (p==0)
        cout<<1;
    else
    {
        l1=5;
        l2=2000000000;
        while (l1<=l2)
        {
            mijl=(l1+l2)/2;
            x=5;
            n=mijl;
            put=0;
            while (n/x>=1)
            {
                put=put+n/x;
                x=x*5;
            }
            if (put<p)
                l1=mijl+1;
            else
            {
                if (put==p)
                    nr=mijl;
                l2=mijl-1;
            }
        }
        if (nr!=0)
            cout<<nr;
        else
            cout<<"-1";
    }
    return 0;
}