Cod sursa(job #41192)

Utilizator znakeuJurba Andrei znakeu Data 28 martie 2007 00:25:39
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <stdio.h>
int v[100];
int v2[100];
int main()
{
	int i,k,n;
	FILE *in=fopen("fact.in","r");
	FILE *out=fopen("fact.out","w");
	fscanf(in,"%d",&k);
	fclose(in);
	
	n=1; v[0]=0; i=1; v2[0]=1;
	while (v[i-1]<k)
	{
		v[i]=v[i-1]+n;
		n*=5;
		v2[i]=n;
		i++;		
	}
	
	if (k)
	{
		i--; n=0;
		while (i>0 && k>0)
		{
			if (k/v[i]>0 && k/v[i]<5)
			{
				n+=k/v[i]*v2[i];
				k-=k/v[i]*v[i];
			}
			i--;
		}
		if (!k)
			fprintf(out,"%d\n",n);
		else
			fprintf(out,"-1\n");
	}
	else
		fprintf(out,"1\n");
	fclose(out);
	
	return 0;
}