Тип 9 № 58517 
Работа с таблицами. Задания для подготовки
i
В каждой строке электронной таблицы записаны шесть натуральных чисел.
Определите количество строк таблицы, содержащих числа, для которых одновременно выполнены все следующие условия:
— минимальное число встречается в строке ровно один раз;
— хотя бы одно число в строке повторяется более одного раза;
— максимальное число в строке превышает среднее арифметическое остальных пяти чисел этой строки более чем в три раза.
В ответе запишите число — количество строк, для которых выполнены эти условия.
Задание 9
Решение. Для начала найдем максимальное число в строке, для этого введем в ячейку G1 формулу =МИН(A1:F1) и скопируем ее до ячейки G6000. В ячейке H1 проверим, сколько раз встречалось минимальное число в строке, для этого введем формулу:
=СЧЁТЕСЛИ($A1:$F1;G1)
и скопируем ее до ячейки H6000.
Посчитаем, сколько раз встречается то или иное число в строках, для этого в ячейку I1 впишем =СЧЁТЕСЛИ($A1:$F1;A1) и растянем до ячейки N1 и вниз, до самого конца таблицы.
Теперь найдем, сколько раз число встречается в таблице, в ячейку O1 впишем формулу:
=СУММ(I1:N1)
и скопируем формулу до ячейки O6000.
В столбце P посчитаем максимальное число в строке, для этого введем формулу:
=МАКС(A1:F1)
и скопируем ее до конца таблицы.
В столбце Q посчитаем среднее арифметическое чисел строки без учета максимального числа (не считая повторы максимального числа), для этого в ячейку Q1 введем формулу:
=(СУММ(A1:F1)-P1)/5)
и скопируем ее до ячейки Q6000.
В столбце R будем проверять строки, в которых максимальное число в строке превышает среднее арифметическое всех остальных пяти чисел этой строки более чем в три раза, для этого в ячейку R1 введем формулу:
=ЕСЛИ(P1>Q1*3;1;0)
и скопируем ее до ячейки R6000.
В столбце S будем писать 1, если строка удовлетворяет всем условиям задачи, и 0 — в остальных случаях, для этого в ячейку S1 введем формулу:
=ЕСЛИ(И(H1=1;O1>6;R1=1);1;0) и скопируем ее до
ячейки S6000. Окончательно находим количество искомых строк. Для этого в ячейку T1 записываем следующее:
=СУММ(S1:S6000)
и получаем ответ — 49.
Ответ: 49.
Приведём решение Бориса Савельева на языке Python.
f = open('9.txt')
cnt = 0
for s in f:
a = list(map(int, s.split()))
if a.count(min(a))==1:
if len(a)!=len(set(a)):
sr=((sum(a)-max(a))/5)*3
if max(a)>sr:
cnt+=1
print(cnt)
Примечание. Файл требуется сохранить в формате txt.
Приведём решение Михаила Глинского на языке Python.
count = 0
for s in open('09.txt'):
m = [int(x) for x in s.split()]
m.sort()
pov = [int(x) for x in m if m.count(x) > 1]
nepov = [int(x) for x in m if m.count(x) == 1]
if len(pov) > 0 and m[0]!=m[1] and (m[-1])/((sum(m)-m[-1])/5) > 3:
count+=1
print(count)
Ответ: 49