Cod sursa(job #79299)

Utilizator horiama1Mania Horia horiama1 Data 21 august 2007 17:51:46
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<stdio.h>
int main()
{

freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
long p,n,k,nr0,t=1,q,w=0;
scanf("%ld",&p);
n=p*5;
	if(p==0)
		printf("1");
	else
	{nr0=0;
	while(n/t)
	 {
		t=t*5;
		nr0=nr0+n/t;
	 }
	if(nr0==p)
		printf("%ld",n);
	else
	{
		while(nr0!=p)
		 {
			k=n;
			n=n-5;
			q=0;
			while(k%5==0)
			 {
				k=k/5;
				q++;
			 }
			nr0=nr0-q;
			if(nr0<p)
			{
				w=1;
				break;
			}
		 }
		if(w==1)
		printf("-1");
		else
		printf("%ld",n);}
	}
return 0;
}