Cod sursa(job #569580)

Utilizator cumbaiaMihai Bercu cumbaia Data 1 aprilie 2011 18:56:43
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<cstdio>
/*
	[53/5]+[53/25]=10+2=12 zero-uri;
cautbin cel mai mic "n" cu prop ca "zero(n)>=p";
*/
int p;

int zero(int n)
{
	int nr=0,r=5;
	while(n>=r)
	{
		nr+=n/r;
		n/=r;
	}
	return nr;
}

long long cautbin(int a)
{
	long long i,pas=1<<30;
	for(i=0;pas!=0;pas/=2)
	{
		if(zero(i+pas)<p)
			i+=pas;
	}
	return i+1;
}

int main()
{
	long long n;
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
	scanf("%d",&p);
	n=cautbin(p);
	if(zero(n)==p)
		printf("%lld\n",n);
	else
		printf("-1\n");
	return 0;
}