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

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

– сумма чисел строки равна 1000;

– ровно два числа (разных) повторяются дважды.

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

Решение Excel

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

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

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

=ЕСЛИ(СЧЁТЕСЛИ(F1:J1;”=2”)=4;1;0)

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

=ЕСЛИ(СУММ(A1:E1)=1000;1;0)

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

=ЕСЛИ(K1+L1>0;1;0)

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

Решение на Python

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

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

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

    uniq_nums = set(line)  # Уникальные числа строки без повторов

    cond1 = (sum(line) == 1000)  # Ровно четыре числа различны, тогда оставшиеся три - повторение одного числа трижды
    cond2 = (len([x for x in uniq_nums if line.count(x) == 2]) == 2)  # Ровно два разных числа повторяются дважды

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

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

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