4) Чтобы скобочная последовательность была правильной, нужно, чтобы сумма любых k первых чисел была неотрицательна и чтобы сумма всех n чисел равнялась нулю.
К отличительным признакам объекта относят свойства, действия, поведение, состояние. Свойства объекта определяются некоторыми величинами, показывающими отличие одного объекта от другого. Действия показывают что может делать объект или что можно делать с объектом. Поведение - это подробное описание каждого из действий объекта. Состояние - это полный набор свойств, которые имеет объект в данное время.
Получается, что состояние перечисляет свойства, а поведение объясняет, что из себя представляют действия.
У этих игр очень простая стратегия. Запомните её один раз и будете решать любые подобные задачи.
Пусть дано P предметов и за ход можно брать от 1 до n предметов. Вычисляем "магическое число" М = n+1. Находим остаток целочисленного деления P на M - он покажет, сколько спичек надо взять при первом ходе для выигрыша. Если 0 - то игрок, делающий ход первым, проигрывает. Выигрышная стратегия проста. Если противник взял k предметов, мы берем M-k.
Рассмотрим задачу 1. P=25, n=4 М=n+1=5, P/M дает в остатке 0 - игрок, делающий ход первым, проигрывает. Выигрышная стратегия: брать 5-k предметов, оставляя противнику 20, 15, 10 и 5 предметов.
Рассмотрим задачу 2. P=107, n=2 M=n+1=3, P/M дает в остатке 2 - игрок, делающий ход первым, берет 2 предмета и выигрывает. Выигрышная стратегия: брать 3-k предметов, оставляя противнику 105, 102, 99, 96, ... предметов.
Объяснение:
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.