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

Множители у айрата есть число n, представленное в виде разложения на m простых множителей pi, то есть n = p1·p2··pm. айрат получил секретную информацию, что произведение всех делителей n по модулю 109 + 7 — пароль от секретной базы данных. теперь осталось только вычислить это значение. входные данные в первой строке входных данных находится число m(1 ≤ m ≤ 200 000) — количество чисел в разложении числа n на простые множители. во второй строке записаны m простых чисел pi (2 ≤ pi ≤ 200 000). выходные данные выведите одно число — произведение всех делителей числа n, вычисленное по модулю 109 + 7. примеры тестов входные данные 2 2 3 выходные данные 36 входные данные 3 2 3 2 выходные данные 1728 примечание в первом примере n = 2·3 = 6. делителями числа 6 являются 1, 2, 3 и 6, их произведение 1·2·3·6 = 36. во втором примере 2·3·2 = 12. делители числа 12 — 1, 2, 3, 4, 6 и 12. 1·2·3·4·6·12 = 1728. реализовать на с++

Показать ответ
Ответ:
chernecov1977
chernecov1977
20.09.2020 11:31
#include <stdio.h>

using namespace std;

int main() {
    int m, a;
    scanf("%d", &m);
    int n = 1;
    for (int i = 0; i < m; i++) {
        scanf("%d", &a);
        n *= a;
    }
    long long ans = 1;
    for (int i = 2; i <= n; i++) {
        if (n % i == 0) {
            ans = ans * i % 1000000007;
        }
    }
    printf("%d", ans);
    return 0;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота