Cod sursa(job #2660852)

Utilizator RazvanLazar2004Lazar Razvan Gabriel RazvanLazar2004 Data 20 octombrie 2020 18:06:04
Problema Factorial Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 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=0;
    in>>p;
    if(p==0){
        out<<"1";
    }else{
        long long int st=4*p/5+1,dr=p;
        while(st<dr){
            long long int mij=(st+dr)/2;
            long long int a=calcul(mij);
            if(a==p){
                x=a;
                break;
            }else{
                if(a<p){
                    st=mij+1;
                }else{
                    dr=mij-1;
                }
            }
        }
        if(x==0){
            out<<"-1";
        }else{
            out<<x;
        }
    }
}