На вход алгоритма подаётся натуральное число . Алгоритм строит по нему новое число следующим образом.
-
Строится двоичная запись числа .
-
Каждый разряд этой записи заменяется двумя разрядами по следующему правилу: если в разряде стоит 0, то вместо него пишется 00; если в разряде стоит 1, то 1 заменяется на 11.
Например, двоичная запись 1001 числа 9 будет преобразована в 11000011. Полученная таким образом запись (в ней в два раза больше разрядов, чем в записи исходного числа ) является двоичной записью числа — результата работы данного алгоритма.
Укажите минимальное число , большее 32, которое может являться результатом работы данного алгоритма. В ответе это число запишите в десятичной системе счисления.
Решение:
Решение на Python:
otv = []
for N in range(1, 1000):
R = bin(N)[2:]
R = ''.join(x * 2 for x in R)
R = int(R, 2)
if R > 32:
otv.append(R)
print(min(otv))
Ответ: 48