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

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

Ответы 5

  • упадет полюбому
  • где там должно упасть?
  • хотя может ты и прав
  • теперь не упадет)
    • Автор:

      jewelosi8
    • 6 лет назад
    • 0
  • #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;}
    • Автор:

      jet
    • 6 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years