Если у лампочки <u>три</u> состояния, то нужно перевести число 14 в <u>троичную</u> систему счисления.
14 /3 = 4, остаток 2
4 / 3 = 1, остаток 1
1 / 3 =0, остаток 1.
Теперь выписываем остатки в обратном порядке: 14₁₀ = 112₃
В числе три разряда, поэтому достаточно трех лампочек.
<u><em>Ответ: 3</em></u>
Поскольку возможен случай, когда даже 17 перчаток окажутся правыми, надо взять на одну больше, т.е. 18.
В подобных задачах ответ всегда большее из чисел плюс единица.
Ввести 3 числа → сложить все 3 числа → поделить получившуюся сумму на 3 → вывести результат.
короче: ввести 3 числа → вывести результат (a1+a2+a3)/3
===== PascalABC.NET =====
function S(a: array[,] of integer) :=
a.Cols.Where(p -> p.All(q -> q >= 0)).SelectMany(p -> p).Sum;
function M(a: array[,] of integer): integer;
begin
var n := a.RowCount;
Result := integer.MaxValue;
var s: integer;
for var i := 0 to n - 2 do
begin
s := 0;
for var j := 0 to i do
s += Abs(a[i - j, j]);
if s < Result then
Result := s
end;
for var j := 1 to n - 1 do
begin
s := 0;
for var i := n - 1 downto j do
s += Abs(a[i, n - i + j - 1]);
if s < Result then
Result := s
end
end;
begin
var n := ReadInteger('n =');
var a := MatrRandom(n, n, -10, 30);
a.Println;
S(a).Println;
M(a).Println;
end.