Задача к ЕГЭ по информатике на тему «Запись числа в двоичной системе счисления» №1

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

   1) Строится двоичная запись числа N.

   2) Если N нечетное, то в конец полученной записи (справа) дописывается 0, в начало 1; если N четное в конец и начало дописывается по две единицы.

   3) Результат переводится в десятичную систему и выводится на экран.

Укажите наибольшее число, меньшее 126, которое может являться результатом работы автомата Например, N = 1410  = 11102  . Число четное, следовательно, добавляем по две единицы по краям, получается 111110112 = 25110  .

res = []
for number in range(1000):
    binary_number = bin(number)[2:]

    if number % 2 != 0:
        binary_number = ’1’ + binary_number + ’0’
    else:
        binary_number = ’11’ + binary_number + ’11’

    decimal_result = int(binary_number, 2)

    if decimal_result < 126:
        res.append(decimal_result)
print(max(res))

Ответ: 123
Оцените статью
Я решу все!