В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
vikonil
vikonil
25.01.2022 21:08 •  Информатика

Нужно переделать код с языка С на язык С++ #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;
}

Ответ:
LikaKotik666
LikaKotik666
03.06.2021 12:50

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

оипчпмп

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?