У исполнителя Математик есть две команды:
1. Прибавить 3,
2. Умножить на 2.
Первая команда увеличивает число на 3, а вторая удваивает его.
Запишите порядок команд в программе преобразования числа 2 в число 52, содержащей не более 5 команд, указывая лишь номера команд. Если таких программ более одной, то запишите любую из них.
for i in range(32): # При >= 32 уже 6 знаков
s = ’0’ * (5 — len(bin(i)[2::])) + bin(i)[2::] # Добавление незначащих
# нулей
summa = 2
for j in s:
if j == ’0’:
summa += 3
if j == ’1’:
summa *= 2
if summa == 52:
print(s, summa)
s = ’0’ * (5 — len(bin(i)[2::])) + bin(i)[2::] # Добавление незначащих
# нулей
summa = 2
for j in s:
if j == ’0’:
summa += 3
if j == ’1’:
summa *= 2
if summa == 52:
print(s, summa)
Ответ: 12122