Pagini recente » Cod sursa (job #2086618) | Cod sursa (job #989372) | Cod sursa (job #2040459) | Cod sursa (job #2180238) | Cod sursa (job #2415094)
#include <fstream>
using namespace std;
ifstream fin("factoriale.in");
ofstream fout("factoriale.out");
int n,k,i,j,e[101][101],d,x,v[101],sol[200],aux;
///e[i][j]-la ce putere este j in descompunerea lui i!, daca i e prim
void inm(int x){
int t=0;
for(int i=1;i<=sol[0];i++){
sol[i]=sol[i]*x+t;
t=sol[i]/10;
sol[i]%=10;
}
while(t){
sol[++sol[0]]=t%10;
t/=10;
}
}
int main(){
fin>>n>>k;
for(i=1;i<=100;i++){
j=i;
for(d=2;d<=j;d++){
if(j%d==0){
while(j%d==0){
j/=d;
e[i][d]++;
}
}
}
}
for(i=2;i<=100;i++)
for(j=1;j<=100;j++)
e[i][j]+=e[i-1][j];
for(;n;n--){
fin>>x;
for(i=1;i<=100;i++)
v[i]+=e[x][i];
}
sol[0]=1;
sol[1]=1;
for(i=1;i<=100;i++)
if(v[i]%k!=0){
aux=1;
for(j=v[i];j<k;j++)
aux*=i;
inm(aux);
}
for(;sol[0];sol[0]--)
fout<<sol[sol[0]];
return 0;
}