Pagini recente » Cod sursa (job #1949950) | Cod sursa (job #140548) | Cod sursa (job #1684980) | Cod sursa (job #1608340) | Cod sursa (job #2911678)
#include <fstream>
using namespace std;
ifstream cin("factoriale.in");
ofstream cout("factoriale.out");
int i, j, n, m, k, p, aux, x;
int prim[105], exp[105], cnt[105];
bool f[105];
void produs(int b, int a[]){
int t=0;
for(int i=1;i<=a[0];i++){
a[i] = a[i]*b+t;
t = a[i]/10;
a[i]%=10;
}
while (t) {
a[++a[0]] = t%10;
t/=10;
}
}
int main(){
for (i=2;i<=100;i++)
if (f[i]==0) {
prim[++p]=i;
for (j=i+i;j<=100;j+=i)
f[j]=1;
}
cin>>n>>k;
for (i=1;i<=n;i++){
cin>>x;
for(j=1;j<=p;j++){
aux=prim[j];
while(aux<=x){
exp[j]+=x/aux;
aux*=prim[j];
}
}
}
cnt[0]=cnt[1]=1;
for (i=1;i<=p && exp[i];i++){
while (exp[i]%k!=0) {
produs(prim[i], cnt);
exp[i]++;
}
}
for(i=cnt[0];i>=1;i--)
cout<<cnt[i];
return 0;
}