500.py

№3. На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1. Строится двоичная запись числа N. 2. Далее эта запись обрабатывается по следующему правилу: а) если число N чётное, то в этой записи каждая единица заменяется на 11; б) если число N нечётное, то в этой записи каждый нуль заменяется на 00. Полученная таким образом запись является двоичной записью искомого числа R. Результат переводится в десятичную систему и выводится на экран. Например, для исходного числа 4₁₀ = 100₂ результатом является число 1100₂ = 12₁₀, а для исходного числа 5₁₀ = 101₂ это число 1001₂ = 9₁₀. Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, большее 70.
"""
№3. На вход алгоритма подаётся натуральное число N. 
Алгоритм строит по нему новое число R следующим образом.

1. Строится двоичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
   а) если число N чётное, то в этой записи каждая единица заменяется на 11;
   б) если число N нечётное, то в этой записи каждый нуль заменяется на 00.

Полученная таким образом запись является двоичной записью искомого числа R.
Результат переводится в десятичную систему и выводится на экран.

Например, для исходного числа 4₁₀ = 100₂ 
результатом является число 1100₂ = 12₁₀,
а для исходного числа 5₁₀ = 101₂ это число 1001₂ = 9₁₀.

Укажите минимальное число N, 
после обработки которого с помощью этого алгоритма
получается число R, большее 70.
"""

for N in range(1, 1000):
    binary = bin(N)[2:]
    if N % 2 == 0: # если число чётное
        binary = binary.replace("1", "11") # каждая единица заменяется на 11
    else: # если число нечётное
        binary = binary.replace("0", "00") # каждый нуль заменяется на 00
    R = int(binary, 2) # переводим двоичную запись в десятичную
    if R > 70:
        print(N)  # 14 (R = 126)
        break

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

1. Строится двоичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
   а) если число N чётное, то в этой записи каждая единица заменяется на 11;
   б) если число N нечётное, то в этой записи каждый нуль заменяется на 00.

Полученная таким образом запись является двоичной записью искомого числа R.
Результат переводится в десятичную систему и выводится на экран.

Например, для исходного числа 4₁₀ = 100₂ 
результатом является число 1100₂ = 12₁₀,
а для исходного числа 5₁₀ = 101₂ это число 1001₂ = 9₁₀.

Укажите минимальное число N, 
после обработки которого с помощью этого алгоритма
получается число R, большее 70.
"""

for N in range(1, 1000):
    binary = bin(N)[2:]
    if N % 2 == 0: # если число чётное
        binary = binary.replace("1", "11") # каждая единица заменяется на 11
    else: # если число нечётное
        binary = binary.replace("0", "00") # каждый нуль заменяется на 00
    R = int(binary, 2) # переводим двоичную запись в десятичную
    if R > 70:
        print(N)  # 14 (R = 126)
        break

    """
    Ответ: 14
    """

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