Cod sursa(job #230236)

Utilizator BiterBiter Marian Biter Data 13 decembrie 2008 13:01:52
Problema Factoriale Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include<stdio.h>


unsigned long int putere(int a,int b)
{
	unsigned long int i;unsigned long int rez=a;
	for (i=2;i<=b;i++)
	{
		rez=rez*a;
	}
	return rez;

}




int main()
{
	FILE *in=fopen("factoriale.in","r"),
	     *out=fopen("factoriale.out","w");

    int v[100],n,put,i,j,nr,w[100],vect[100];
	unsigned long int prod=1;
	fscanf(in,"%d",&n);
	fscanf(in,"%d",&put);

	
	
	
	for (i=1;i<=n;i++)
	{
		fscanf(in,"%d",&vect[i]);

	}
	int max=0;
	for (i=1;i<=n;i++)
	{
		if (vect[i]>max) max=vect[i];
	}
	
	for (i=1;i<=max;i++)
	{
		v[i]=0;
		w[i]=0;
	}
	
		
	for (i=1;i<=n;i++)
	{
	
		for (j=1;j<=vect[i];j++)
		{
			++v[j];
		}
	}
	
	for (i=1;i<=max;i++)
	{
	
		while (!((v[i]+w[i])%put==0))
		{
			++w[i];
		}
	}

	for (i=1;i<=max;i++)
	{
		
		if (w[i]!=0)
		prod=prod*putere(i,w[i]);
	}
	
	
	fprintf(out,"%d",prod);
	



	

    
	return 0;

}