ЕГЭ Информатика 2025: Задание 5 (решение)

Задание относится к базовому уровню сложности, на его выполнение отводится 4 минуты. Суть задания заключается в формальном исполнении простого алгоритма, записанного на естественном языке.

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

На вход алгоритма подаётся натуральное число N (N ≤ 12). Алгоритм строит по нему новое число следующим образом:

  1. Строится двоичная запись числа N.
  2. Если число N чётное, то к двоичной записи числа слева дописывается «10».
  3. Если число N нечётное, то к двоичной записи числа слева дописывается «1», а справа – «01».

Необходимо указать максимальное число, которое может быть результатом работы данного алгоритма, записав его в десятичной системе счисления.

Решение на языке Python

Для решения задачи удобно использовать язык программирования Python. Так как начальное число N неизвестно, кроме условия N ≤ 12, необходимо перебрать все возможные значения N от 1 до 12.

def solve():
    max_result = 0
    results = []
    for n in range(1, 13):
        binary_n = bin(n)[2:]  # Преобразование в двоичную систему и удаление "0b"
        if n % 2 == 0:
            new_binary = "10" + binary_n
        else:
            new_binary = "1" + binary_n + "01"
        decimal_result = int(new_binary, 2) # Преобразование в десятичную систему
        results.append(decimal_result)
    max_result = max(results)
    return max_result

print(solve()) # Вывод результата

Код выполняет следующие действия:

  • Цикл for перебирает значения n от 1 до 12.
  • bin(n)[2:] преобразует число n в двоичную строку и удаляет префикс «0b».
  • Условная конструкция if n % 2 == 0: проверяет чётность числа n и формирует новую двоичную строку согласно условию задачи.
  • int(new_binary, 2) преобразует полученную двоичную строку в десятичное число.
  • Результаты сохраняются в списке results.
  • max(results) находит максимальное значение в списке.
  • Функция solve() возвращает максимальное десятичное число.

Максимальное число, которое может быть результатом работы алгоритма при условии N ≤ 12, равно 109. Представленный код на Python эффективно решает задачу перебором всех возможных значений N и нахождением максимального результата.

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