Cod sursa(job #643265)

Utilizator okros_alexandruOkros Alexandru okros_alexandru Data 3 decembrie 2011 12:35:52
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
// 
// Complexity : log_5(p)+log_5(n)*log_10(n)
// 
#include<fstream>
using namespace std;
int p,v[30];
int main() {
	int i,sum=0,sol;
	ifstream in("fact.in");
	ofstream out("fact.out");
	in>>p;
	sol=p*5-((p-1)/5)*5;
	for(v[0]=1,i=1;v[i-1]<sol;i++)
		v[i]=5*v[i-1];
	v[i]=5*v[i-1];
	while(sum<p) {
		for(sum=0,i=1;v[i]<=sol;i++)
			sum+=sol/v[i];
		if(sum<p) 
			sol+=5;
		else
		if(sum>p)
			sol=-1;
		}
	out<<sol<<'\n';
	in.close();
	out.close();
	return 0;
}