Задача к ЕГЭ по информатике на тему «Количество строк, удовлетворяющих условию» №3

В файле электронной таблицы в каждой строке содержатся пять натуральных чисел. Определите количество строк таблицы, содержащей числа, для которых выполнены оба условия:

– в строке все числа уникальные

– среднее арифметическое двух максимальных не больше суммы 3 минимальных

Решение Excel:

Первым шагом отсортируем числа в строке по возрастанию. Для этого в ячейки F 1− J1  запишем соответствующие формулы:

=НАИМЕНЬШИЙ(A1:E1;1)

=НАИМЕНЬШИЙ(A1:E1;2)

=НАИМЕНЬШИЙ(A1:E1;3)

=НАИМЕНЬШИЙ(A1:E1;4)

=НАИМЕНЬШИЙ(A1:E1;5)

Проверим уникальность каждого числа. Для этого в ячейку K1  запишем формулу, которая считает количество повторений числа из ячейки F1  в диапазоне F 1 : J1  :

=СЧЁТЕСЛИ($F1:$J1;F1)

Растянем эти 5 формул на все строки. Для того чтобы определить, является ли каждое число уникальным, найдем сумму ячеек в диапазоне K1 : O1  , если все числа уникальные, то сумма будет равна 5.

Остается только найти среднее арефметическое двух максимальных и сумму 3 минимальных. Так как у нас числа отсортированы в порядке возрастания, то это легко сделать. Запишем формулу для поиска среднего арефметического двух максимальных в ячейку Q1  . А в ячейку R1  формулу для поиска суммы 3 минимальных. Растянем формулы на все строки.

Осталость только записать условие, в ячейку S1  запишем формулу и растянем ее на все строки:

=ЕСЛИ(И(P1=5;Q1<=R1);1;0)

В любую свободную ячейку запишем формулу поиска суммы по столбцу S  . Результат этой формулы и будет ответом на задачу.

Решение программой:

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)

Ответ: 1080
Оцените статью
Я решу все!