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

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

– модуль разности сумм повторяющихся и неповторяющихся чисел меньше 33;

– среднее арифметическое строки больше среднего арифметического файла;

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

Решение Excel

Откроем файл электронной таблицы и для начала в ячейку G1 запишем следующую формулу для определения повторяемости и растянем до ячейки L1:

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

В ячейку M1 запишем следующую формулу для определения суммы повторяющихся чисел:

=СУММЕСЛИ(G1:L1;”>1”;A1:F1)

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

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

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

=ЕСЛИ(ABS(N1-M1)<33;1;0)

В ячейке P1 запишем формулу для определения выполнения второго условия:

=ЕСЛИ(СРЗНАЧ(A1:F1)>СРЗНАЧ(A:F);1;0)

В ячейке Q1 определим выполняются ли оба условия для строки, для этого воспользуемся формулой:

=P1*O1

Растянем все формулы на все строки таблицы и остается только посчитать сумму по столбцу Q, это и будет ответом – 90.

Решение на Python

f = open("9.txt")  # Открываем файл расширения txt

a = [list(map(int, line.split())) for line in f]  # Считывание строк чисел в файле
lines_count = 0  # Счётчик для количества подходящих под условие строк

sr_file = (sum(sum(line) for line in a)) / (6 * len(a))  # Среднее арифметическое файла

for line in a:  # Перебираем строки - списки из 6 чисел

    repeat_nums = [x for x in line if line.count(x) > 1]  # Повторяющиеся числа в строке
    sum_repeat = sum(repeat_nums)  # Сумма повторяющихся
    sum_non_repeat = sum(line) - sum_repeat  # Сумма неповторяющихся
    sr_line = sum(line) / 6  # Среднее арифметическое строки

    cond1 = (abs(sum_repeat - sum_non_repeat) < 33)  # Модуль разности меньше 33
    cond2 = (sr_line > sr_file)  # Ср. ариф. строки больше ср. ариф. файла

    if cond1 and cond2:  # Оба условия выполняются
        lines_count += 1  # Увеличиваем счётчик на 1

print(lines_count)  # Выводим ответ

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