ЕГЭ Информатика 2023: Задание 17 — алгоритм обработки чисел

Задание повышенного уровня, требующее составления алгоритма обработки числовой последовательности и его реализации на языке программирования. На выполнение отводится около 14 минут.

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

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

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

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

  1. Чтение данных: Считываем числа из файла 17.txt построчно и преобразуем их в целочисленный тип. Используем менеджер контекста with для автоматического закрытия файла.
with open('17.txt', 'r') as f:
    data = [int(line) for line in f]
  1. Поиск максимального квадрата: Находим квадрат максимального числа в последовательности, оканчивающегося на 3.
sqrt_max_list = [x**2 for x in data if abs(x) % 10 == 3]
sqrt_max = max(sqrt_max_list) if sqrt_max_list else 0
  1. Обработка пар: Перебираем пары соседних элементов и проверяем условия:
    • Только одно число в паре оканчивается на 3.
    • Сумма квадратов элементов пары >= sqrt_max.
answer_list = []
for i in range(len(data) - 1):
    cond1 = (abs(data[i]) % 10 == 3 and abs(data[i+1]) % 10 != 3) or \n            (abs(data[i]) % 10 != 3 and abs(data[i+1]) % 10 == 3)
    cond2 = data[i]**2 + data[i+1]**2 >= sqrt_max
    if cond1 and cond2:
        answer_list.append(data[i]**2 + data[i+1]**2)
  1. Вывод результата: Выводим количество найденных пар и максимальную сумму квадратов.
print(len(answer_list), max(answer_list) if answer_list else 0)

Алгоритм, реализованный на языке Python, эффективно решает задачу, обрабатывая данные из файла, проверяя условия и выводя результат. Решение типично для заданий 17 ЕГЭ по информатике.

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