Cod sursa(job #2083749)

Utilizator Saint_JerryIvas Ciprian Saint_Jerry Data 8 decembrie 2017 08:42:07
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb

#include<iostream>
#include<stdio.h>
using namespace std;
int main(){
    long long cc,l1,l2,p,m,c,fac,poz,i,ci;
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    cin>>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)
        cout<<"-1";
    else
        cout<<poz;
    return 0;
}