Задание:
Откройте файл электронной таблицы, содержащей в каждой строке семь натуральных чисел. Определите количество строк таблицы, для чисел которых выполнены оба условия:
В ответе запишите только число
Примечание: файлы в архиве с демоверсией ЕГЭ-2024 по информатике
Решение (электронные таблицы)
Заведем в таблице 7 столбцов – количество повторов соответствующего числа в исходных данных (фиксация столбца для удобства копирования).
H1 =СЧЁТЕСЛИ($A1:$G1;A1)
I1 =СЧЁТЕСЛИ($A1:$G1;B1)
J1 =СЧЁТЕСЛИ($A1:$G1;C1)
K1 =СЧЁТЕСЛИ($A1:$G1;D1)
L1 =СЧЁТЕСЛИ($A1:$G1;E1)
M1 =СЧЁТЕСЛИ($A1:$G1;F1)
N1 =СЧЁТЕСЛИ($A1:$G1;G1)
Получим такую таблицу
Теперь найдем строки, в которых 2 пары повторяющихся чисел. Для этого воспользуемся функцией СЧЁТЕСЛИ. Нужно найти строки в которых 4 двойки (СЧЁТЕСЛИ(H1:N1; 2) = 4) и 3 единицы (СЧЁТЕСЛИ(H1:N1; 1) = 3). Для удобства записи перемножим два логических результата.
O1 = (СЧЁТЕСЛИ(H1:N1; 2) = 4) * (СЧЁТЕСЛИ(H1:N1; 1) = 3)
Теперь найдем среднее арифметическое повторяющихся не повторяющихся чисел. Так как в дальнейшем мы будем использовать значения из столбца O, в текущей формуле не будем проверять количество совпадений. Поэтому просто просуммируем ячейки диапазона A:G по условию совпадения с 2 и 1 в столбцах H:N
P1 =СУММЕСЛИ(H1:N1; 2; A1:G1)/4
Q1 =СУММЕСЛИ(H1:N1; 1; A1:G1)/3
Теперь перемножим значения в столбце O с результатом сравнения полученных средних. Где в столбе O стоит 0, получим 0. Где 1, получим 1 для строк, где совпадают оба условия. R1 = O1*(P1 < Q1)
После чего найдем сумму в столбце R: S1 =СУММ(R:R)
Ответ: 83
Решение (программное)
Скопируем данные к текстовый файл с разделителями в виде пробельных групп.
# счетчик подходящих строк
c = 0
for line in open('9.txt'):
# считываем все числа в список
nums = [int(x) for x in line.split()]
# списки для хранения пар и уникальных значений
k2, k1 = [], []
for x in nums:
if nums.count(x) == 2:
# сохраняем элемент пары
k2.append(x)
elif nums.count(x) == 1:
# сохраняем уникальные элементы
k1.append(x)
# если все числа в строке разделены по условию
if len(k2) == 4 and len(k1) == 3:
# и среднее повторяющихся меньше среднего уникальных
if sum(k2) / 4 < sum(k1) / 3:
# увеличиваем счетчик на единицу
c += 1
# выводим ответ
print(c)
Ответ: 83
Источник: Информатика с Джобсом | ЕГЭ