В файле электронной таблицы в каждой строке содержатся пять натуральных чисел. Определите количество строк таблицы, содержащей числа, для которых выполнены оба условия:
– в строке все числа уникальные
– среднее арифметическое двух максимальных не больше суммы 3 минимальных
Решение Excel:
Первым шагом отсортируем числа в строке по возрастанию. Для этого в ячейки запишем соответствующие формулы:
=НАИМЕНЬШИЙ(A1:E1;1)
=НАИМЕНЬШИЙ(A1:E1;2)
=НАИМЕНЬШИЙ(A1:E1;3)
=НАИМЕНЬШИЙ(A1:E1;4)
=НАИМЕНЬШИЙ(A1:E1;5)
Проверим уникальность каждого числа. Для этого в ячейку запишем формулу, которая считает количество повторений числа из ячейки
в диапазоне
:
=СЧЁТЕСЛИ($F1:$J1;F1)
Растянем эти 5 формул на все строки. Для того чтобы определить, является ли каждое число уникальным, найдем сумму ячеек в диапазоне , если все числа уникальные, то сумма будет равна 5.
Остается только найти среднее арефметическое двух максимальных и сумму 3 минимальных. Так как у нас числа отсортированы в порядке возрастания, то это легко сделать. Запишем формулу для поиска среднего арефметического двух максимальных в ячейку . А в ячейку
формулу для поиска суммы 3 минимальных. Растянем формулы на все строки.
Осталость только записать условие, в ячейку запишем формулу и растянем ее на все строки:
=ЕСЛИ(И(P1=5;Q1<=R1);1;0)
В любую свободную ячейку запишем формулу поиска суммы по столбцу . Результат этой формулы и будет ответом на задачу.
Решение программой:
f = open(’9.txt’, ’r’)
count = 0
for line in f:
a = [int(x) for x in line.split()]
sorted_a = sorted(a)
if len(set(a)) == 5:
if (sorted_a[3] + sorted_a[4]) / 2 <= sum(sorted_a[:3]):
count += 1
print(count)