Cod sursa(job #1526151)

Utilizator backtrackIconaru Marian Catalin backtrack Data 15 noiembrie 2015 23:38:03
Problema Factorial Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<iostream>
#include<fstream>

using namespace std;
int p;
int solutie(long long n){
	long long sum=0;
	for(int i=5;n/i>0;i*=5)
		sum+=n/i;
	if(sum==p)
		return 2;
	if(sum>p)
		return 1;
	return 0;
}
int main(){
	ifstream f("fact.in");
	f>>p;
	ofstream g("fact.out");
	long long lower_bound=0;
	long long upper_bound=5*p;
	do{
		long long mij=(lower_bound+upper_bound)/2;
		if(solutie(mij)==2){
			g<<mij;
			return 0;
		}
		if(solutie(mij)==1)
			upper_bound=mij-1;
		if(solutie(mij)==0)
			lower_bound=mij+1;
	}while(lower_bound!=upper_bound);
		
		
		f.close();
		g.close();
		//system("pause");
	return 0;
}