Cod sursa(job #352228)

Utilizator chrissBota Cristian chriss Data 30 septembrie 2009 20:38:00
Problema Factorial Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <stdio.h>

long long n,k,i,j,r,l;
int p;

int main()
{
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);

	scanf("%d",&p);
	if(p==0)
		printf("%d",1);
	else
	{
        l=p;
		for(i=5;i<=p;i+=5)
		{
			j=i;
			while(j%5==0)
			{
				k++;
				j/=5;
			}
		}
		for(i=p;i>=5&&(k>0);i--)
		{
			j=i;
			l=i-1;
			if(j%5==0)
			{   r=1;
				while(j%5==0)
				{
					r++;
					j/=5;
				}
				k=k-r;
			}
			else k--;
		}
		n=5*l;
		if(k==0)
			printf("%lld",n);
		else
			printf("%d",-1);
	}
return 0;
}