Написать функцию которая возвращает True, если есть пара чисел, которая удовлетворяет условие - Pascal

Формулировка задачи:

Есть массив:
arr : array[1..1000] of Integer;
Заполненный случайными числами от -32,768 до 32,767. Нужно написать функцию которая возвращает True, если есть пара чисел, которая удовлетворяет условие:
arr[i] + arr[j] = 0;
Если такой пары нет, то False Пример: -7 + 7 = 0 - True P. S: Тупо перебирать все пары нельзя, потому что массив может быть на большее количество значений и это будет не оптимальное решение.

Код к задаче: «Написать функцию которая возвращает True, если есть пара чисел, которая удовлетворяет условие - Pascal»

textual
function prot(const a: array of Integer): Boolean;
var i, j: Integer;
begin
  prot:=True;
  for i:=Low(a) to High(a) do
    for j:=i+1 to High(a) do
      if a[i]=-a[j] then Exit;
  prot:=False;
end;

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

7   голосов, оценка 3.857 из 5


СОХРАНИТЬ ССЫЛКУ