Cod sursa(job #304327)

Utilizator agfsdhlkjpahomi tudor agfsdhlkj Data 12 aprilie 2009 00:59:57
Problema Factorial Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>
long n,zero,p,doi,cinci;
void fpr(int x)
{while(x%2==0)
	{x/=2; doi++;}
while(x%5==0)
	{x/=5; cinci++;}
}
long min(int a,int b)
{if(a<b)
	return a;
return b;
}
void rez()
{freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%ld",&p);
if(p==0)
 printf("1\n");
else
 {int prev=5;
 for(n=2;zero<p;n++)
	if((n%5==0&&prev==2)||(n%2==0&&prev==5))
	{if(n%2==0&&prev==5)
	prev=2;
	else
		if(n%5==0&&prev==2)
	prev=5;
	fpr(n);
	zero=min(doi,cinci);}
 if(zero>p)
	 printf("-1\n");
 else
  printf("%ld\n",n-1);}
}
int main()
{rez();
return 0;}