Pagini recente » Cod sursa (job #1460302) | Cod sursa (job #2658898) | Cod sursa (job #1888398) | Cod sursa (job #2416728) | Cod sursa (job #137836)
Cod sursa(job #137836)
#include<stdio.h>
FILE *f=fopen("factoriale.in","r"),
*g=fopen("factoriale.out","w");
int n,i,j,a[101],p[101],k,c[101],pr,ok,x,y,t;
long long q;
int main()
{ p[0]=2;
p[1]=3;
p[2]=5;
i=7;k=2;
while(i<100) { ok=1;
for(j=1;j<=k&&ok;++j) if(i%p[j]==0) ok=0;
if(ok) p[++k]=i;
i+=2;
}
pr=k;
fscanf(f,"%d %d",&n,&k);
for(i=1;i<=n;++i) { fscanf(f,"%d",&y);
for(t=2;t<=y;++t){ x=t;
for(j=0;j<=pr&&x>1;++j) while(x%p[j]==0) x/=p[j],++c[j];
}
}
q=1;
for(i=0;i<=pr;++i) { c[i]%=k; if(c[i]) c[i]=k-c[i];
for(j=1;j<=c[i];++j) q*=p[j];
}
fprintf(g,"%lld\n",q);
fclose(f);
fclose(g);
return 0;
}