Pagini recente » Cod sursa (job #2744246) | Cod sursa (job #1986172) | Cod sursa (job #447548) | Cod sursa (job #74004) | Cod sursa (job #1690726)
#include <cstdio>
using namespace std;
int ans[100000],i,n,k,j,z,p,x,ap[104];
void inm(int ans[], int x)
{
int i,t=0;
for(i=1; i<=ans[0] || t; ++i)
{
t=ans[i]*x+t;
ans[i]=t%10;
t/=10;
}
ans[0]=i-1;
}
int main()
{
freopen("factoriale.in", "r", stdin);
freopen("factoriale.out", "w", stdout);
scanf("%d%d", &n, &k);
for(i=1; i<=100; ++i) ap[i]=0;
for(i=1; i<=n; ++i)
{
scanf("%d", &z);
for(j=2; j<=z; ++j)
{
x=j;
for(p=2;x>1 && p*p<=j; ++p)
while(x%p==0) x/=p, ++ap[p];
if(x!=1) ++ap[x];
}
}
ans[1]=ans[0]=1;
for(i=1; i<=100; ++i)
if(ap[i]%k!=0)
for(j=1; j<=k-ap[i]%k; ++j)
inm(ans, i);
for(i=ans[0]; i; --i) printf("%d", ans[i]);
printf("\n");
return 0;
}