
Дан массив из N различных целых чисел Zero -это произвольная четыре числа из этого массива, сумма
которых равна нулю. Найдите сколько различных zero существует на этой массиве.

Ответы на вопрос

const n=100;
var a:array[1..n] of integer;
i,j,k,l: integer;
begin
writeln('Ввести массив из ',n,' целых чисел');
for i:=1 to n do read(a[i]);
for i:=1 to n do
for j:=i+1 to n do
for k:=j+1 to n do
for l:=k+1 to n do
if a[i]+a[j]+a[k]+a{l}=0
then writeln(a[i],' ',a[j],' ',a[k],',a[l] );
end.



Для решения данной задачи мы можем использовать алгоритм с использованием хэш-таблицы.
Шаги алгоритма: 1. Создаем хэш-таблицу, где ключами будут суммы пар элементов массива, а значениями - количество раз, которое такая сумма встречается в массиве. 2. Проходим по всем парам элементов массива и находим их сумму. 3. Если сумма равна нулю, увеличиваем значение в хэш-таблице для этой суммы на 1. 4. После прохода по всем парам элементов, считаем количество нулей в хэш-таблице. 5. Возвращаем количество нулей в массиве.
Пример реализации на Python:
```python def count_zeros(arr): zeros = 0 sums = {} for i in range(len(arr)): for j in range(i+1, len(arr)): s = arr[i] + arr[j] if s == 0: zeros += 1 if s in sums: sums[s] += 1 else: sums[s] = 1 return zeros
# Пример использования arr = [1, -2, 3, -1, 2, -3, 0] num_zeros = count_zeros(arr) print("Количество различных zero на массиве:", num_zeros) ```
В данном примере на массиве `[1, -2, 3, -1, 2, -3, 0]` существует 3 различных zero: `[1, -1]`, `[-2, 2]` и `[0, 0]`.


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