// PascalABC.NET 3.3, сборка 1590 от 03.12.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('n='); var a:=ArrRandom(n,-50,50); a.Println; var m:=n-1; var found:=false; for var i:=0 to m do begin for var j:=0 to m do if i=j then continue else begin for var k:=0 to m do if (k=i) or (k=j) then continue else if a[i]+a[j]+a[k]=0 then begin Println('Решение:',a[i],a[j],a[k]); found:=true; break end; if found then break end; if found then break end; if not found then Writeln('Нет нужной тройки чисел') end.
Var i,j,k,n,sum:integer; input,output:text; a:array[1..100] of integer; flag:boolean; begin flag:=false; Assign(Input,'d.in'); reset(input); readln(input,n); assign(output, 'd.out'); rewrite(output); writeln('Input elements'); readln (n); for i:=1 to n do read(a[i]); for i:=1 to n do for j:=1 to n do for k:=1 to n do if (i<>j) and (j<>k) and (i<>k) then if a[i]+a[j]+a[k]=0 then begin writeln (output,'Yes'); flag:=true; halt; end; if flag=false then writeln(output,'No'); close(input); close(output); end.
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
var a:=ArrRandom(n,-50,50); a.Println;
var m:=n-1;
var found:=false;
for var i:=0 to m do begin
for var j:=0 to m do
if i=j then continue
else begin
for var k:=0 to m do
if (k=i) or (k=j) then continue
else
if a[i]+a[j]+a[k]=0 then begin
Println('Решение:',a[i],a[j],a[k]);
found:=true;
break
end;
if found then break
end;
if found then break
end;
if not found then Writeln('Нет нужной тройки чисел')
end.
Примеры
n= 13
-25 -29 41 -19 -9 50 -23 36 33 23 48 -6 -5
Решение: -25 -23 48
n= 8
-33 -23 -3 -5 -5 -20 -22 34
Нет нужной тройки чисел
input,output:text;
a:array[1..100] of integer;
flag:boolean;
begin flag:=false;
Assign(Input,'d.in');
reset(input);
readln(input,n);
assign(output, 'd.out');
rewrite(output);
writeln('Input elements');
readln (n);
for i:=1 to n do read(a[i]);
for i:=1 to n do
for j:=1 to n do
for k:=1 to n do
if (i<>j) and (j<>k) and (i<>k) then
if a[i]+a[j]+a[k]=0
then
begin
writeln (output,'Yes');
flag:=true;
halt;
end;
if flag=false then writeln(output,'No');
close(input);
close(output);
end.