Cod sursa(job #352025)

Utilizator vlad.doruIon Vlad-Doru vlad.doru Data 30 septembrie 2009 09:18:41
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
# include <fstream>

using namespace std;

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

int cinci(int n){
	int r=0;
	while(n){
		r+=n/5;
		n/=5;
	}
	return r;
}
int caut(int p){
	int n=0, pas;
	--p;
	for(pas=1 ; pas<1000000000 ; pas<<=1);
	for(n=0 ; pas>0 ; pas>>=1){
		if(cinci(n+pas)<=p){
			n+=pas;
		}
	}
	return n+1;
}
int main(){
	int n,p;
	in>>n;
	if(n==0){
		out<<"1";
	}else{
		p=caut(n);
		if(cinci(p)==n)
			out<<p;
		else
			out<<-1;
	}
	return 0;
}