501.py

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. Строится двоичная запись числа N. Далее эта запись обрабатывается по следующему правилу: а) если число чётное, то к двоичной записи числа слева дописывается 10; б) если число нечётное, то к двоичной записи числа слева дописывается 1 и справа дописывается 01. Полученная таким образом запись является двоичной записью искомого числа R. Результат переводится в десятичную систему и выводится на экран. Укажите максимальное число R, которое может быть результатом работы данного алгоритма, при условии, что N не больше 12. В ответе запишите это число в десятичной системе счисления.
"""
На вход алгоритма подаётся натуральное число N. 
Алгоритм строит по нему новое число R следующим образом.

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

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

for N in range(1, 13): 
    # N - исходное число
    binary = bin(N)[2:] # двоичная запись числа N без префикса "0b"
    if N % 2 == 0: # если число чётное
        binary = "10" + binary # слева дописывается 10
    else: # если число нечётное
        binary = "1" + binary + "01" # слева дописывается 1 и справа дописывается 01
    R = int(binary, 2) # переводим двоичную запись в десятичную
    print(R) # выводим результат

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

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

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

for N in range(1, 13): 
    # N - исходное число
    binary = bin(N)[2:] # двоичная запись числа N без префикса "0b"
    if N % 2 == 0: # если число чётное
        binary = "10" + binary # слева дописывается 10
    else: # если число нечётное
        binary = "1" + binary + "01" # слева дописывается 1 и справа дописывается 01
    R = int(binary, 2) # переводим двоичную запись в десятичную
    print(R) # выводим результат

    """
    Ответ: 109
    """

Репозиторий на GitHub