Pagini recente » Cod sursa (job #218755) | Cod sursa (job #3279614) | Cod sursa (job #2344371) | Cod sursa (job #256301) | Cod sursa (job #2910620)
#include <fstream>
#define DIM 101
using namespace std;
ifstream fin("factoriale.in");
ofstream fout("factoriale.out");
int n,m,i,j,k,x,pr,p[DIM],e[DIM],sol[10001];
bool c[DIM];
void produs(int a[],int b) {
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!=0) {
a[++a[0]]=t%10;
t/=10;
}
}
int main() {
fin>>n>>k;
for (i=2;i<=100;i++)
if (c[i]==0) {
p[++m]=i;
for (j=2*i;j<=100;j+=i)
c[j]=1;
}
while (n--) {
fin>>x;
for (i=1;i<=m;i++) {
pr=p[i];
while (pr<=x) {
e[i]+=x/pr;
pr*=p[i];
}
}
}
sol[0]=sol[1]=1;
for (i=1;i<=m && e[i]!=0;i++)
while (e[i]%k!=0) {
produs(sol,p[i]);
e[i]++;
}
for (i=sol[0];i>=1;i--)
fout<<sol[i];
return 0;
}