Cod sursa(job #2571947)

Utilizator mariamirabella2Bucur-Sabau Maria-Mirabela mariamirabella2 Data 5 martie 2020 10:56:17
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>

using namespace std;

ifstream cin("fact.in");
ofstream cout("fact.out");

long long st,dr,mid,sol;

long long findn(long long n){
    long long p=5,rasp=0;
    while(p<=n){
        rasp+=n/p;
        p*=5;
    }
    return rasp;
}

int main()
{
    long long n,p;
	cin>>p;
	if(p==0){
        cout<<"1";
        return 0;
	}
	st=1,dr=2000000000;
	while(st<=dr){
        mid=(st+dr)/2;
        n=findn(mid);
        if(n<p){
            st=mid+1;
        }
        else{
            if(n==p)
                sol=mid;
            dr=mid-1;
        }
	}

	if(sol==0){
        cout<<"-1";
	}
	cout<<sol;
    return 0;
}