Pagini recente » Cod sursa (job #500689) | Cod sursa (job #2256017) | Cod sursa (job #2692027) | Cod sursa (job #2402878) | Cod sursa (job #230236)
Cod sursa(job #230236)
#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;
}