Cod sursa(job #2454320)

Utilizator lucian2015blaugranadevil lucian2015 Data 7 septembrie 2019 22:32:01
Problema Factorial Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>


using namespace std;


ifstream f("fact.in");
ofstream g("fact.out");

long long  five( long long n){
	int nr = 0;
	while( n%5 == 0 ){
		nr++;
		n = n/5;
	}
	return nr;
}

long long fact( int n ){
	long long p = 1;
	int i;
	for( i = 2; i <= n; i++ )
		p = p*i;
	return p;
}


long long binarysearch(int n, int p){
	long long lo, hi, mid;
	lo = 0;
	hi = n+1;
	while ( hi - lo > 1){
		mid =( lo + hi ) /2;
			if (  five(fact(mid)) > p )
				hi = mid;
			else
				lo = mid;
	}
	return lo;
}


int main(){
	int p, nr = 1, i;
	f >> p;	
	if ( p == 0 ){
		g << 1;
		return 0;
	}
    p = binarysearch(5*p, p);
    g << p;

}