Нужно переделать код с языка С на язык С++ #include
#include
#include

using namespace std;

const int modl = 1e9 + 7;

int n;
int a[500];
int f[15050];
map total;

int main() {
scanf("%d", &n);
f[0] = 1;
for(int i = 0; i < n; i++) {
scanf("%d", a+i);
int x = a[i];
for(int j = 2; j*j <= a[i]; j++)
while (x%j == 0) {
total[j]++;
x /= j;
}
if (x > 1) total[x]++;
}

for(int i = 0; i < n; i++) {

Ольга Леонідівна Шпілінська12:08
scanf("%d", a+i);
int x = a[i];
for(int j = 2; j*j <= a[i]; j++)
while (x%j == 0) {
total[j]++;
x /= j;
}
if (x > 1) total[x]++;
}

for(int i = 0; i < n; i++) {
int sum = 0;
for(int j = 0; j <= 15000; j++)
sum = (sum + f[j]) % modl;
for(int j = 15000; j >= 0; j--) {
int nextSum = (sum - f[j]) % modl;
if (nextSum < 0) nextSum += modl;
f[j] = sum;
sum = nextSum;
}
}

long long ret = 1;
for(map ::iterator it = total.begin(); it != total.end(); it++)
ret = (ret * f[it->second]) % modl;

printf("%I64d", ret);

return 0;
}

Оля142768 Оля142768    3   03.06.2021 12:44    0

Ответы
kokosha11 kokosha11  03.06.2021 12:50

окт рблни но ртото оьбрьн бе е ндебе е. еде е едде е ебее. ебебе рбрбе е ебюе е пбр е

оипчпмп

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика