Cod sursa(job #716183)

Utilizator dariusdariusMarian Darius dariusdarius Data 18 martie 2012 13:49:36
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<stdio.h>
int main()
{
long long p,i,j,m,x,nr,ok;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
ok=1;
scanf("%d",&p);
if (p==0) printf("%d",1);
else
	{
	for(i=1,j=5*p;i<=j && ok==1;)
		{
		m=(i+j)/2;
		x=m;
		nr=0;
		while(x!=0)
			{
			nr+=x/5;
			x/=5;
			}
		if(nr==p)
		{
		printf("%lld",m-m%5);
		ok=0;
		}
		else
		{
		if(nr<p)
			i=m+1;
		else
			j=m-1;
		}
		}
	if(ok==1)
	printf("%d",-1);
	}
return 0;
}