Artyom
?>

Множители у айрата есть число 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. реализовать на с++

Информатика

Ответы

sakalrip
#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;
}
egornostaeva
Персональные компьютеры PC сегодня стали незаменимыми человека во всех без исключения сферах человеческой деятельности. На компьютерах рассчитывают заработную плату и объем урожая, рисуют графики движения товаров и изменения общественного мнения, проектируют атомные реакторы и ботинки.

Слово “компьютер” означает “вычислитель”. Потребность в автоматизации обработки данных, в том числе вычислений, возникла очень давно. В настоящее время индустрия производства компьютерного железа и программного обеспечения является одной из наиболее важных сфер экономики развитых и развивающихся стран. Причины стремительного роста индустрии персональных компьютеров: 
невысокая стоимость; 
сравнительная выгодность для многих деловых применений; 
простота использования; 
возможность индивидуального взаимодействия с компьютеров без посредников и ограничений; 
высокие возможности по переработке, хранению и выдаче информации; 
высокая надежность, простота ремонта и эксплуатации; 
компьютерное железо адаптивно к особенностям применения компьютеров; 
наличие программного обеспечения, охватывающего практически все сферы человеческой деятельности, а также мощных систем для разработки нового программного обеспечения. 
Igorevich_Aleksandrovna1599
// PascalABC.Net 3.0, сборка 1052
function kn(a,b,c:integer):byte;
{ функция возвращает количество отрицательных среди a,b,c}
var
  n:byte;
begin
  if a<0 then n:=1 else n:=0;
  if b<0 then Inc(n);
  if c<0 then Inc(n);
  kn:=n
end;

function cond(c:char;v:integer):string;
{ функция формирует строку вида с>0 или c<0 в зависимости от знака v}
begin
  if v<0 then cond:=c+'<0 ' else cond:=c+'>=0'
end;

procedure pv(a,b,c:integer; n:byte);
{ печать строки теста }
var
  m:byte;
begin
  m:=kn(a,b,c);
  Write(cond('a',a),' ',cond('b',b),' ',cond('c',c),' ');
  Write('отрицательных ',m);
  if n=m then Write(' - тест тестовое: ',n);
  Writeln
end;

{ тестовое решение }
const
  T:array[1..8,1..3] of integer=((1,1,1),(1,1,-1),(1,-1,1),
    (1,-1,-1),(-1,1,1),(-1,1,-1),(-1,-1,1),(-1,-1,-1));
  R:array[1..8] of byte=(0,1,1,2,1,2,2,3);
var
  i:byte;
begin
  for i:=1 to 8 do pv(T[i,1],T[i,2],T[i,3],R[i])
end.

Тестирование:
a>=0 b>=0 c>=0 отрицательных 0 - тест
a>=0 b>=0 c<0  отрицательных 1 - тест
a>=0 b<0  c>=0 отрицательных 1 - тест
a>=0 b<0  c<0  отрицательных 2 - тест
a<0  b>=0 c>=0 отрицательных 1 - тест
a<0  b>=0 c<0  отрицательных 2 - тест
a<0  b<0  c>=0 отрицательных 2 - тест
a<0  b<0  c<0  отрицательных 3 - тест

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Множители у айрата есть число 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. реализовать на с++
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

oshemkov579
fudan
moskvichkabakery56
rabchek145200614
oksanashabanovadc3197
Sergei1805
Евгения-Валерий
Serkova_Elena251
Ubuleeva826
xsmall1
artem032100
mrvasilev2012
vladimirkirv
maksteks
О. Карпов1691