Cod sursa(job #1526145)

Utilizator backtrackIconaru Marian Catalin backtrack Data 15 noiembrie 2015 23:30:28
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
int p;
int solutie(long long n){
	long long sum=0;
	for(int i=5;n/i>0;i*=5)
		sum+=floor(n/i);
	if(sum==p)
		return 1;
	return 0;
}
long long cautare(long long i,long long j){
	if(i>j)return -1;
	long long mij=(i+j)/2;
	if(solutie(mij)==1 && solutie(mij-1)==0)
		return mij;
	if(solutie(mij)==1 && solutie(mij-1)==1)
		return cautare(i,mij-1);
	if(!solutie(mij))
		return cautare(mij+1,j);
}
int main(){
	ifstream f("fact.in");
	f>>p;
	
	//cout<<cautare(0,p*5);
	ofstream g("fact.out");
	g<<cautare(0,p*5);
	f.close();
	g.close();
	//system("pause");
	return 0;
}