Cod sursa(job #863475)

Utilizator CostanMiriamCostan Miriam CostanMiriam Data 23 ianuarie 2013 20:46:40
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
using namespace std;
ifstream fin ("factorial.in");
ofstream fout ("factorial.out");
int p,i,j,m,k,u,s,d,v[15];
int main () {
	fin>>p;
	v[0]=1;
	for (i=5;i<=p*5;i=i*5) 
		v[++d]=i;
	v[++d]=2000000000;
	k=1;
	u=p*5;
	while (k<=u) {
		m=(k+u)/2;
		s=0;
		for (j=1;v[j]<=m;j++) 
			s=s+m/v[j];
		if (s>=p)
			u=m-1;
		else
			k=m+1;
	}
	s=0;
	for (j=1;v[j]<=k;j++) 
		s=s+k/v[j];
	if (s==p)
		fout<<k<<"\n";
	else 
		if (p==0) 
			fout<<v[0];
		else
			fout<<-1<<"\n";
	return 0;
}