ЕГЭ, ОГЭ, программирование и робототехника в Калининграде

№ 9030. ЕГКР 2025

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

– в строке есть ровно два числа, каждое из которых повторяется трижды, и одно число без повторений;
 – среднее арифметическое повторяющихся чисел строки меньше неповторяющегося числа.

В ответе запишите только число.

with open('901.txt') as f:
    data = [list(map(int, i.split())) for i in f]


# Условие 1
def f1(line):
    # Повторяются 3 раза
    cnt_3 = [i for i in line if line.count(i) == 3]
    # Повторяются 1 раз
    cnt_1 = [i for i in line if line.count(i) == 1]
    # 2 числа трижды и одно без повторений
    return len(cnt_3) == 6 and len(cnt_1) == 1


# Условие 2
def f2(line):
    # Все неповторяющиеся числа в строке
    nrep = [i for i in line if line.count(i) == 1]
    # Все повторяющиеся числа в строке
    rep = [i for i in line if line.count(i) != 1]
    # Среднее арифметическое
    aver = sum(rep) / len(rep)
    # Ср. арифм. меньше неповторяющегося
    return aver < nrep[0]


# Находим наибольший номер строки
for pos, val in list(enumerate(data, start=1))[::-1]:
    if f1(val) and f2(val):
        print(pos)
        break
Разберём это задание на бесплатном пробном занятии

Преподаватель покажет, как решать такие задачи, и подскажет, с чего начать подготовку. Группы до 8 человек, очно в Калининграде и онлайн.

Записаться на пробное занятие