Cod sursa(job #545477)

Utilizator SadmannCornigeanu Calin Sadmann Data 3 martie 2011 14:02:07
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<stdio.h>
FILE *in,*out;
int nr5,p;
int num,aux,aux2;
int main()
{
	in=fopen("fact.in","rt");
	out=fopen("fact.out","wt");
	fscanf(in,"%d",&p);

	if(!p)
	{
		fprintf(out,"1");
		return 0;
	}
	while(nr5<p)
		{
			num+=25;
			nr5+=1<<2;
			aux=num;
			if(nr5<p)
			{
				while(!(aux%25))
				{
					nr5+=2;
					aux/=25;
				}
				if(!(aux%5))
					nr5++;
			}
			else
			{
				aux2=nr5-p+1;
				num-=5*aux2;
				nr5-=aux2-1;
			}

		}
		if(nr5==p)
			fprintf(out,"%d",num);
		else
			fprintf(out,"-1");



	return 0;
}