4) Чтобы скобочная последовательность была правильной, нужно, чтобы сумма любых k первых чисел была неотрицательна и чтобы сумма всех n чисел равнялась нулю.
4) Чтобы скобочная последовательность была правильной, нужно, чтобы сумма любых k первых чисел была неотрицательна и чтобы сумма всех n чисел равнялась нулю.
Объяснение:
3) тут просто
var n, i: integer;
begin
for i := 1 to frac(n/2) do
write("Левая Правая ");
if n mod 2 = 1 then write("Левая");
end.
4) Чтобы скобочная последовательность была правильной, нужно, чтобы сумма любых k первых чисел была неотрицательна и чтобы сумма всех n чисел равнялась нулю.
var current_sum, n, x, flag: int;
begin
readln(n);
flag := 1;
current_sum := 0;
for i := 1 to n do begin
readln(x);
current_sum := current_sum + x;
if (current_sum)<0 then flag := 0;
end;
if current_sum<>0 then flag := 0;
if flag = 1 then writeln("является")
else writeln("не является");
end.
Объяснение:
3) тут просто
var n, i: integer;
begin
for i := 1 to frac(n/2) do
write("Левая Правая ");
if n mod 2 = 1 then write("Левая");
end.
4) Чтобы скобочная последовательность была правильной, нужно, чтобы сумма любых k первых чисел была неотрицательна и чтобы сумма всех n чисел равнялась нулю.
var current_sum, n, x, flag: int;
begin
readln(n);
flag := 1;
current_sum := 0;
for i := 1 to n do begin
readln(x);
current_sum := current_sum + x;
if (current_sum)<0 then flag := 0;
end;
if current_sum<>0 then flag := 0;
if flag = 1 then writeln("является")
else writeln("не является");
end.