Pagini recente » Cod sursa (job #1378212) | Cod sursa (job #843012) | Cod sursa (job #367201) | Cod sursa (job #1705137) | Cod sursa (job #2974416)
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n, k;
bool marked[101];
int x[101];
vector<int> res(1, 1);
void mul(int p) {
int c = 0;
for (int i = 0; i < res.size(); ++i) {
c = res[i] * p + c;
res[i] = c % 10;
c /= 10;
}
while (c) {
res.push_back(c % 10);
c /= 10;
}
}
int main() {
freopen("factoriale.in", "r", stdin);
freopen("factoriale.out", "w", stdout);
cin >> n >> k;
for (int i = 0; i < n; ++i) {
cin >> x[i];
}
for (int p = 2; p <= 100; ++p) {
if (marked[p]) {
continue;
}
int exp = 0;
for (int i = p; i <= 100; i *= p) {
marked[i] = true;
for (int j = 0; j < n; ++j) {
exp += x[j] / i;
}
}
while (exp % k) {
++exp;
mul(p);
}
}
reverse(res.begin(), res.end());
for (auto it : res) {
cout << it;
}
return 0;
}