Pagini recente » Cod sursa (job #2227680) | Cod sursa (job #1997933) | Cod sursa (job #1093367) | Cod sursa (job #1002906) | Cod sursa (job #137418)
Cod sursa(job #137418)
#include<stdio.h>
#define N 102
#define Nmax 102
#define X 50
#define CIF 100
int c[N+2];
int n,k=0,v[X],prez[X],tr[X];
void genereaza_v(){
int i,j;
c[0]=c[1]=1;
for (i=4;i<=N;i+=2)
c[i]=1;
for (i=3;i<=N;i+=2)
if (c[i]==0)
for(j=i+i;j<=N;j+=i)
c[j]=1;
for (i=1;i<=N;++i)
if (c[i]==0){
++k;
v[k]=i;
}
k=25;
}
int main(){
int x[Nmax],i,t,j,xx,r;
unsigned long long s=1;
freopen("factoriale.in","r",stdin);
freopen("factoriale.out","w",stdout);
scanf("%d%d",&n,&t);
for (i=1;i<=n;++i)
scanf("%d",&x[i]);
genereaza_v();
for (j=1;j<=n;++j){
r=x[j];
for (i=1;i<=k;++i){
xx=v[i];
while (r/xx>0){
prez[i]+=r/xx;
xx*=xx;
}
}
}
for (i=1;i<=k;++i)
if (prez[i]%t!=0)
tr[i]=t-prez[i]%t;
for (i=1;i<=k;++i)
if (tr[i]!=0)
s*=v[i];
printf("%llu",s);
return 0;
}