Cod sursa(job #671048)

Utilizator raduiris94Alexa Radu raduiris94 Data 30 ianuarie 2012 16:59:30
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<cstdio>
int i,ls,ld,nr,m,p;
int nrzer(int n)
{
	int pt=1;
	int s=0;	
	for(i=1;i<=30;i++)
	{
		pt=pt*5;
		if(pt>n) 
			break;
		s=s+n/pt;
	}
	return s;
}
int main()
{
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
	scanf("%d",&p);
	if(p!=0)
	{
		ls=1;
		ld=5*p+5;
		while(ls<=ld)
		{
			m=(ls+ld)/2;
			nr=nrzer(m);
			if(nr>p) 
				ld=m-1;
			else
				if(nr<p) 
					ls=m+1;
				else 
					break;
		}
		if(ls<=ld) 
			printf("%d",m-m%5);
		else 
			printf("-1");
	}
	else
	printf("1");
	return 0;
}