ЕГЭ Информатика 2022: Решение задачи №17 (обновлено)

В демоверсии ЕГЭ по информатике 2022 года задание №17 стало сложнее. Рассмотрим изменения и решение обновлённой задачи.

Условие задачи

Файл содержит последовательность целых чисел от -10000 до 10000 включительно. Необходимо определить количество пар последовательности, где хотя бы одно число делится на 3, и сумма элементов пары не превосходит максимальный элемент последовательности, кратный 3.

Решение задачи

Решение включает следующие шаги:

  1. Чтение данных: Файл 17.txt (доступен по запросу) читается и данные преобразуются в список целых чисел s.
with open('17.txt') as f:
    s = [int(line) for line in f]
  1. Поиск максимального элемента, кратного 3: Находим максимальный элемент maximum, кратный 3.
maximum = -10000
for j in s:
    if j % 3 == 0 and j > maximum:
        maximum = j
  1. Обработка пар: Перебираем соседние элементы списка s и проверяем условия:

    • Хотя бы одно число в паре делится на 3: (s[i] % 3 == 0) or (s[i — 1] % 3 == 0)
    • Сумма элементов пары не превосходит maximum: s[i] + s[i — 1] <= maximum

    Подходящие пары считаются.

count = 0
for i in range(1, len(s)):
    if (s[i] % 3 == 0) or (s[i - 1] % 3 == 0):
        if s[i] + s[i - 1] <= maximum:
            count += 1
  1. Вывод результата: Выводим количество найденных пар.
print(f"Количество пар: {count}")

Изменение в задании 17 потребовало добавления этапа поиска максимального элемента, кратного 3. Решение, представленное выше, эффективно решает задачу.

Что будем искать? Например,программа