Cod sursa(job #2661623)

Utilizator RazvanLazar2004Lazar Razvan Gabriel RazvanLazar2004 Data 22 octombrie 2020 13:32:23
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int calcul(long long int x){
    long long int m=0;
    while(x){
        m+=x/5;
        x/=5;
    }
    return m;
}
int main(){
    long long int p,x=-1;
    in>>p;
    if(p==0){
        out<<"1";
    }else{
        long long int st=4*p+1,dr=5*p;
        while(st<=dr){
            long long int mij=(st+dr)/2;
            long long int a=calcul(mij);
            if(a==p){
                x=mij;
                break;
            }else{
                if(a<p){
                    st=mij+1;
                }else{
                    dr=mij-1;
                }
            }
        }
        if(x==-1){
            out<<"-1";
        }else{
            out<<x/5*5;
        }
    }
}