Предмет: Информатика, автор: lgaksenk

Дан массив из N целых чисел а1, а2, ..., an. Вам нужно проверить, есть ли в этом массиве три числа сумма которых равна нулю.
Формат входных данных
В первой строке входного файла содержится одно целое число N (1 ≤ N ≤ 200). Во второй строке находятся N целых чисел a1, a2, ..., aN ( - 1000 ≤ ai ≤ 1000) — элементы массива.
Формат выходных данных
В единственной строке выходного файла выведите одно слово «YES», если в этом массиве есть три числа сумма которых равна нулю. Иначе, выведите «NO».


написать задачу на языке паскаль

Ответы

Автор ответа: srzontmp
0
var a: array[1..200] of integer;
    i,j,k,n,s: integer;
    f:text;
begin
  assign(f,'input.txt');
  reset(f);
  readln(f,n);
  for i:=1 to n do read(f,a[i]);
  for i:=1 to n-2 do
  for j:=i+1 to n-1 do
  for k:=j+1 to n do
  begin
    s:=a[i]+a[j]+a[k];
    if s=0 then 
    begin
//    writeln(a[i],' ',a[j],' ',a[k]);
      writeln('YES');
      exit;
    end;
  end;  
  writeln('NO');
end.

вывод 
YES
файл input.txt
10
-15 10 12 8 6 14 7 -23 -37 18



Похожие вопросы