Pagini recente » Cod sursa (job #1015717) | Cod sursa (job #1887275) | Cod sursa (job #2965997) | Cod sursa (job #3209701) | Cod sursa (job #2414072)
#include <fstream>
#define DIM 102
using namespace std;
ifstream in ("factoriale.in");
ofstream out("factoriale.out");
int n, k, x;
int v[DIM], divCrt[DIM];
int divPrim[DIM][DIM];
int main(int argc, const char * argv[]) {
in>>n>>k;
for(int i = 0; i <= 100; ++ i){
int x = i;
for(int d = 2; d * d <= x; ++ d){
while(x % d == 0){
x /= d;
divPrim[i][d] ++;
}
}
if(x != 1){
divPrim[i][x] ++;
}
for(int j = 1; j <= 100; ++ j){
divPrim[i][j] += divPrim[i - 1][j];
}
}
for(int i = 1; i <= n; ++ i){
in>>x;
for(int j = 1; j <= 100; ++ j){
divCrt[j] += divPrim[x][j];
}
}
long long res = 1;
for(int i = 1; i <= 100; ++ i){
int mod = divCrt[i] % k;
for(int j = 1; j <= mod; ++ j){
res *= i;
}
}
out<<res;
return 0;
}