Задание 5. Информатика. ЕГЭ. Поляков-3524

Просмотры: 23
Изменено: 14 апреля 2025

(Е. Джобс) Автомат обрабатывает десятичное натуральное число \(N\) по следующему алгоритму:

  1. В шестеричной записи числа \(N\) дублируется последняя цифра.
  2. Получившееся число переводится в двоичное представление.
  3. В получившейся записи дублируется последняя цифра.
  4. Полученное в результате этих операций число переводится в десятичную систему счисления.

Пример. Дано число \(13\). Оно преобразуется следующим образом: $$13 \to 21_6 \to 211_6 \to 1001111_2 \to 10011111_2 \to 159.$$ Укажите максимальное число, меньшее \(344,\) которое может являться результатом выполнения алгоритма.

Решение:

Python


def conv(n):
    alph = '012345'
    res = ''
    while n:
        res = alph[n % 6] + res
        n //= 6
    return res

def R(N):
    sn = conv(N)
    sn += sn[-1]
    bn = bin(int(sn, 6))[2:]
    bn += bn[-1]
    return int(bn, 2)

#print(R(13))
print(max(R(N) for N in range(1, 400) if R(N) < 344))

Ответ: \(331\)