Cod sursa(job #727429)

Utilizator Kira96Denis Mita Kira96 Data 27 martie 2012 22:47:53
Problema Factorial Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<stdio.h>
long long p,in,sf,mij,x,i;
int fives(int y)
{
	int nr=0;
	i=5;
	while(y>=i)
	{
		nr+=y/i;
		i*=5;
	}
	return nr;
}
int main ()
{
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
	scanf("%lld",&p);
	if(p==0)
	{
		printf("1");
		return 0;
	}
	in=1;
	sf=p;
	while(in<sf)
	{
		mij=(in+sf)/2;
		x=fives(mij*5);
		if(x==p)
		{
			printf("%lld",mij*5);
			return 0;
		}
		else
			if(x>p)
				sf=mij-1;
			else
				in=mij+1;
	}
	printf("-1");
	return 0;
}