Прошу помощи, пожалуйста, нужно программу на с++ перевести var
rem : array[0..11] of integer;
N, i, x : integer;
m : longint;
begin
for i := 0 to 11 do
rem[i] := 0;
readln(N);
for i := 1 to N do begin
readln(x);
inc(rem[x mod 12])
end;
m := (rem[0] * (rem[0] - 1) + rem[6] * (rem[6] - 1)) div 2;
for i := 1 to 5 do
m := m + rem[i] * rem[12 - i];
writeln(m)
end.
Дан набор из
N
натуральных чисел. Необходимо определить количество пар элементов
(
a
i
,
a
j
)
этого набора, в которых
1

i
<
j

N
и сумма элементов кратна 12.

Напишите эффективную по времени и по памяти программу для решения этой задачи. Программа считается эффективной по времени, если при увеличении количества исходных чисел
N
в
k
раз время работы программы увеличивается не более чем в
k
раз. Программа считается эффективной по памяти, если память, необходимая для хранения переменных программы, не превышает одного килобайта и не увеличивается с ростом
N
.

Описание входных и выходных данных

В первой строке входных данных задаётся количество чисел
N
(
1

N

10000
). В каждой из последующих
N
строк записано одно натуральное число, не превышающее 1000.

Пример входных данных:

5
7
5
6
12
24
Пример выходных данных для приведённого выше примера входных данных:

2
В приведённом наборе из 5 чисел имеются две пары
(
5
,
7
)
,
(
12
,
24
)
, сумма элементов которых кратна 12.
Please enter comments
Please enter your name.
Please enter the correct email address.
You must agree before submitting.

Answers & Comments


Copyright © 2024 SCHOLAR.TIPS - All rights reserved.