В демоверсии ЕГЭ по информатике 2022 года задание №17 стало сложнее. Рассмотрим изменения и решение обновлённой задачи.
Условие задачи
Файл содержит последовательность целых чисел от -10000 до 10000 включительно. Необходимо определить количество пар последовательности, где хотя бы одно число делится на 3, и сумма элементов пары не превосходит максимальный элемент последовательности, кратный 3.
Решение задачи
Решение включает следующие шаги:
- Чтение данных: Файл 17.txt (доступен по запросу) читается и данные преобразуются в список целых чисел s.
with open('17.txt') as f:
s = [int(line) for line in f]
- Поиск максимального элемента, кратного 3: Находим максимальный элемент maximum, кратный 3.
maximum = -10000
for j in s:
if j % 3 == 0 and j > maximum:
maximum = j
- Обработка пар: Перебираем соседние элементы списка 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
- Вывод результата: Выводим количество найденных пар.
print(f"Количество пар: {count}")
Изменение в задании 17 потребовало добавления этапа поиска максимального элемента, кратного 3. Решение, представленное выше, эффективно решает задачу.