В файле электронной таблицы Задание_9.xlsx в каждой строке записаны семь натуральных чисел.
Определите номер строки таблицы с наименьшей суммой чисел в строке, для которой выполнены три условия:
— в строке только одно число повторяется трижды, остальные четыре числа различны;
— среднее арифметическое неповторяющихся чисел строки не меньше повторяющегося числа
— максимальное число строки не кратно минимальному.
Приведём решение Юрия Красильникова.
В столбцы H:N копируем числа, которые повторяются трижды. В ячейку H1 внесем формулу =ЕСЛИ(СЧЁТЕСЛИ($A1:$G1;A1)=3;A1;"") и размножим её в ячейки I1:N1
В столбцы O:U копируем числа, которые не повторяются. В ячейку O1 внесем формулу =ЕСЛИ(СЧЁТЕСЛИ($A1:$G1;A1)=1;A1;"") и размножим её в ячейки P1:U1
В столбце V сформируем первое условие. Внесем в ячейку V1 формулу =И(СЧЁТЕСЛИ(H1:N1;"")=4;СЧЁТЕСЛИ(O1:U1;"")=3)
В столбце W сформируем второе условие. Внесем в ячейку W1 формулу =СРЗНАЧ(O1:U1)>=МАКС(H1:N1)
В столбце X сформируем третье условие. Внесем в ячейку X1 формулу =ОСТАТ(МАКС(A1:G1);МИН(A1:G1))<>0
В столбце Y сформируем логическое произведение условий. Внесем в ячейку Y1 формулу =И(V1:X1)
В ячейки столбца Z вставим формулу, которая выведет сумму исходных чисел для тех строк, для которых выполнены условия. Формула в ячейке Z1 такая: =ЕСЛИ(Y1;СУММ(A1:G1);"")
В той ячейке столбца AA, в которой эта сумма будет минимальной, выведем номер строки. Формула для ячейки AA1: =ЕСЛИ(Z1=МИН(Z:Z);СТРОКА();"")
Размножим ячейки H1:AA1 вниз до конца данных.
В ячейку AB1 внесем формулу =МАКС(AA:AA) и получим ответ.
Ответ: 3807.
Приведём решение на языке Python.
# Скопируйте таблицу в текстовый файл
S = []
for i, st in enumerate(open('9_11.txt').readlines()):
li = list(map(int, st.split()))
v_0 = list(filter(lambda x: li.count(x)==1, li))
v_1 = list(filter(lambda x: li.count(x)==3, li))
if len(v_0) == 4 and v_1 and sum(v_0)/4 >= v_1[0] and max(li)%min(li):
S.append([sum(li), i+1])
print(sorted(S)[0][1])
Ответ: 3807.

