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

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

— в строке только одно число повторяется ровно два раза, остальные числа различны;

— среднее арифметическое неповторяющихся чисел строки не больше суммы повторяющихся чисел. В ответе запишите только число.

Решение Excel:

Для того, чтобы определить, сколько раз каждое число встречается в строке, в ячейку F1 запишем формулу

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

и растянем на диапазон G1:L1, когда в строке есть одно число, которое встречается ровно 2 раза, сумма этого диапазона равна 8.

Среднее арифметическое можно рассчитать по формуле, запишем ее в ячейке M1 и растянем на весь диапазон:

=СУММЕСЛИ(G1:L1; =1 ;A1:F1)/СЧЁТЕСЛИ(G1:L1; =1 )

Для того, чтобы найти сумму повторяющихся чисел в строке, в ячейке N1 запишем формулу:

=СУММЕСЛИ(G1:L1; =2 ;A1:F1)

В ячейку O1 запишем формулу для проверки условий:

=ЕСЛИ(И(СУММ(G1:L1)=8;M1<=N1);1;0)

Остается только найти сумму по столбцу O.

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

f = open(’9.txt’, ’r’)
count = 0

for line in f:
    numbers = list(map(int, line.split()))
    unique_numbers = list(set(numbers))

    if len(unique_numbers) == 5:
        repeated_number = [x for x in unique_numbers if numbers.count(x) == 2]
        if len(repeated_number) == 1:
            non_repeated_numbers = [x for x in numbers if numbers.count(x) == 1]
            sum_non_repeated = sum(non_repeated_numbers)
            sum_repeated = repeated_number[0] * 2
            if sum_non_repeated / len(non_repeated_numbers) <= sum_repeated:
                count += 1

print(count)

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