Задача Множители У Айрата есть число n, представленное в виде разложения ** m простых...

0 голосов
24 просмотров

Задача Множители

У Айрата есть число 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.
Помогите реализовать задачу на с++


Информатика (81 баллов) | 24 просмотров
Дан 1 ответ
0 голосов

#include

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++) {<br>        if (n % i == 0) {
            ans = ans * i % 1000000007;
        }
    }
    printf("%d", ans);
    return 0;
}

(13.3k баллов)
0

упадет полюбому

0

где там должно упасть?

0

хотя может ты и прав

0

теперь не упадет)