Pagini recente » Cod sursa (job #346224) | Cod sursa (job #1526266) | Cod sursa (job #2378780) | Cod sursa (job #1897587) | Cod sursa (job #585232)
Cod sursa(job #585232)
# include <fstream>
using namespace std;
std :: ifstream f ("factoriale.in");
std :: ofstream g ("factoriale.out");
int i, j;
int val, ap[106], sol[1000];
int n, k, nr;
void prod (int a[], int b){
int i;
int t = 0;
for (i = 1; i <= a[0] || t; ++i, t /= 10)
a[i] = (t += a[i] * b);
a[0] = i - 1;
}
int main (){
f >> n >> k;
for (i = 1; i <= n; ++i){
f >> val;
nr = val;
for (val = 1; val <= nr; ++val){
int dub = val;
for (; !(val & 1); val >>= 1) ++ap[2];
for (j = 3; j * j <= val && val > 1; j += 2){
while (!(val % j)){
val = val / j;
++ap[j];
}
}
if (val > 1) ++ap[val];
val = dub;
}
}
for (sol[0] = sol[1] = 1, i = 2; i <= 101; ++i)
if (ap[i]){
val = ap[i] % k;
if (val){
val = k - val;
for (; val > 0; --val)
prod (sol, i);
}
}
for (i = 1; i <= sol[0]; ++i)
g << sol[i];
g << '\n';
g.close ();
return 0;
}