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

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

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

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

оипчпмп

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