Задание 5. Информатика. ЕГЭ. Статград. 24.10.2024-1

Просмотры: 360
Изменено: 24 ноября 2024

Алгоритм получает на вход натуральное число \(N\) и строит по нему новое число \(R\) следующим образом.

  1. Строится двоичная запись числа \(N\).
  2. Если число \(N\) чётное, то к двоичной записи слева дописываются цифры \(11\).
    В противном случае (число \(N\) нечётное) к двоичной записи слева дописывается цифра \(1\), а справа – цифры \(10\).
  3. Результатом работы алгоритма становится десятичная запись полученного числа \(R\).

Пример. Дано число \(N = 13\). Алгоритм работает следующим образом.

  1. Строим двоичную запись: \(13_{10} = 1101_{2}\) .
  2. Число \(13\) нечётно. Дописываем \(1\) слева и \(10\) справа, получаем \(1110110_2 = 118_{10}\) .
  3. Результат работы алгоритма \(R = 118.\)

Укажите максимальное число \(R\), которое может быть результатом работы данного алгоритма, при условии, что \(N\) принадлежит отрезку \([234~567~890; \, 567~891~234].\)

Решение:

Python


def R(N):
    bn = bin(N)[2:]
    if N % 2 == 0:
        ans = '11' + bn
    else:
        ans = '1' + bn + '10'
    return int(ans, 2)

print(max(R(567_891_233), R(567_891_234)))

Видеоразбор

Ответ: \(6~566~532~230\)