Cod sursa(job #212796)

Utilizator hadesgamesTache Alexandru hadesgames Data 6 octombrie 2008 21:14:09
Problema Struti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<stdio.h>
long long search(long long);
int main ()
{
	long long  p;
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
	scanf("%lld",&p);
	printf("%lld\n",search(p));
	return 0;
}
long long ver(long long x,long long p)
{
	long long i,nr=0;
	for (i=5;i<=x;i*=5)
	{
		nr+=x/i;
	}
	if (nr==p)
		return 1;
	if (nr>p)
		return 2;
	return 0;
}
long long search(long long p)
{
	long long rez=0,i;
	for (i=((long long)1)<<6;i;i>>=1)
	{
		rez+=i;
		if (ver(rez,p))
			rez-=i;
	}
	long long x=ver(rez+1,p);
	if (x==1)
		return rez+1;
	return -1;
}