Задание выполняется с использованием прилагаемых файлов
Откройте файл электронной таблицы, содержащей в каждой строке четыре натуральных числа. Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
— предмаксимальное число из четырёх чисел больше среднего арифметического трёх других;
— среди четырёх чисел совпадают ровно два (например, четверка чисел подходит, а четверка чисел
— нет).
В ответе запишите только число.
Решение Excel
Для решения этой задачи воспользуемся следующей функцией:
=НАИБОЛЬШИЙ()
Как она работает: подается массив и номер числа по убыванию. Так, в строке следующая функция выдаст результат
:
=НАИБОЛЬШИЙ(X:Y; 1)
Запишем в четыре ячейки в столбик формулы:
=НАИБОЛЬШИЙ(A1:D1; 1)
=НАИБОЛЬШИЙ(A1:D1; 2)
=НАИБОЛЬШИЙ(A1:D1; 3)
=НАИБОЛЬШИЙ(A1:D1; 4)
Дальше прописываем условия:
=ИЛИ(A1=B1; A1=C1; A1=D1; B1=C1; B1=D1; C1=D1)
=НЕ(ИЛИ(A1=B1=C1; A1=B1=D1; A1=C1=D1; B1=C1=D1))
=НЕ(A1=B1=C1=D1)
Если все они истинны, тогда строка имеет только одну пару одинаковых чисел.
Прописываем формулу на оба условия (где наши ячейки с условиями, а
числа по убыванию):
=ЕСЛИ(И(K1:M1; G1>СРЗНАЧ(F1;H1;I1)); 1; 0)
Подсчитываем сумму столбца с данным условием, она равна .
Решение на Python
f = open("9.txt") # Открываем файл расширения txt
a = [list(map(int, line.split())) for line in f] # Считывание строк чисел в файле
lines_count = 0 # Счётчик для количества подходящих под условие строк
for line in a: # Перебираем строки - списки из 4 чисел
predmax = sorted(line)[-2] # Предмаксимальное число строки
srzn = (sum(line) - predmax) / 3 # Среднее арифметическое 3 других чисел
povtor = [x for x in line if line.count(x) > 1] # Список совпадающих чисел
if predmax > srzn and len(povtor) == 2: # Оба условия выполняются
lines_count += 1 # Увеличиваем счётчик на 1
print(lines_count) # Выводим ответ