Pagini recente » Cod sursa (job #1417014) | Cod sursa (job #255255) | Cod sursa (job #336473) | Cod sursa (job #1945855) | Cod sursa (job #132241)
Cod sursa(job #132241)
#include <stdio.h>
#define nmax 65536
#define BAZA 1000000
#define FOR(i,s,d) for(i=(s);i<(d);++i)
int n,k,X[nmax],A[nmax];
void inm(int x)
{
int i,t=0;
for(i=1;i<=A[0]||t;++i)
{
A[i]=A[i]*x+t;
t=A[i]/BAZA;
A[i]%=BAZA;
}
A[0]=i-1;
}
int main()
{
freopen("factoriale.in","r",stdin);
freopen("factoriale.out","w",stdout);
int i,j,l,aux;
scanf("%d %d",&n,&k);
FOR(i,0,n)
scanf("%d",&X[i]);
A[0]=A[1]=1;
FOR(i,2,100)
{
FOR(j,2,i) if(i%j==0) break;
if(i!=j) continue;
for(aux=0,l=i;l<100;l*=i)
FOR(j,0,n)
aux+=X[j]/l;
l=(k-aux%k)%k;
FOR(j,0,l) inm(i);
}
printf("%d",A[A[0]]);
for(i=A[0]-1;i;--i)
printf("%06d",A[i]);
printf("\n");
return 0;
}