Cod sursa(job #316019)

Utilizator freak93Adrian Budau freak93 Data 18 mai 2009 07:58:03
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<cstdio>

using namespace std;

long long p,n,i,j,step;

int v(int a)
{
	int k=0;
	while(a) k+=a/5,a/=5;
	return k;
}

int main()
{
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
	
	scanf("%lld",&p);
	
	n=p*40;
	
	for(step=1;step<=n;step<<=1);
	
	for(i=0;step;step>>=1)
		if(i+step<=n&&v(i+step)>p) 
			i+=step;
			
	while(i%5) --i;
	
	if(v(i)==p) printf("%lld\n",i);
	else printf("-1\n");
	
	fclose(stdin);
	fclose(stdout);
	
	return 0;

}