Задание 5. Информатика. ЕГЭ. Апробация. 05.03.2025-2

Просмотры: 825
Изменено: 8 марта 2025

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

  1. Строится двоичная запись числа \(N.\)
  2. Далее эта запись обрабатывается по следующему правилу:
    • а) если число чётное, то к двоичной записи слева дописывается \(10;\)
    • б) если число нечётное, то к двоичной записи числа слева дописывается \(1\) и справа дописывается \(01.\)
    Полученная таким образом запись является двоичной записью искомого числа \(R.\)
  3. Результат переводится в десятичную систему и выводится на экран.

Например, для исходного числа \(4_{10} = 100_2\) результатом является число \(20_{10} = 10100_2,\) а для исходного числа \(5_{10} = 101_2\) это число \(53_{10} = 110101_2.\)

Укажите максимальное число \(R,\) которое может быть результатом работы данного алгоритма, при условии, что \(N\) не больше \(12.\) В ответе запишите это число в десятичной системе счисления.

Решение:

Python


def R(N):
    bn = f'{N:b}'
    if N % 2 == 0:
        bn = '10' + bn
    else:
        bn = '1' + bn + '01'
    return int(bn, 2)

print(max(R(N) for N in range(1, 13)))

Ответ: \(109\)