Алгоритм решения задания 14. Часть 1
Учимся решать 15 задания первого типа
Читать
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
- Строится двоичная запись числа N.
- Далее если исходное число чётное, то справа к построенной двоичной записи числа N приписывается 0, если нечётное, то приписывается 1.
- Далее полученная на втором шаге алгоритма запись обрабатывается по следующему правилу:
- если количество единиц в двоичной записи кратно трём, то в этой записи два левых разряда заменяются на 11;
- если количество единиц в двоичной записи некратно трём, то в этой записи два левых разряда заменяются на 10.
- Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 610 = 1102 результатом является число 10002 = 810, а для исходного числа 310 = 112 результатом является число 1112 = 710.
Укажите минимальное N, после обработки которого с помощью этого алгоритма получается число R, не меньшее, чем 26.
В ответе запишите это число в десятичной системе счисления.
for N in range(1, 10):
# Шаг 1
N_bin = f'{N:b}'
# Шаг 2
if N % 2:
N_bin += "1"
else:
N_bin += "0"
# Шаг 3
if N_bin.count("1") % 3:
R_bin = '10' + N_bin[2:]
else:
R_bin = '11' + N_bin[2:]
R = int(R_bin, 2)
if R >= 26:
print(N)
break
