У исполнителя АТЛАНТ две команды, которым присвоены номера:
1. Вычти 2
2. Умножь на 3
Первая из них уменьшает число на экране на 2, вторая – увеличивает его в три раза.
Запишите порядок команд в программе получения из числа 4 число 304, содержащей не более 6 команд, указывая лишь номера команд.
for i in range(64): # При >= 64 уже 7 знаков
s = ’0’ * (6 — len(bin(i)[2::])) + bin(i)[2::] # Добавление незначащих
# нулей
summa = 4
for j in s:
if j == ’0’:
summa -= 2
if j == ’1’:
summa *= 3
if summa == 304:
print(s, summa)
s = ’0’ * (6 — len(bin(i)[2::])) + bin(i)[2::] # Добавление незначащих
# нулей
summa = 4
for j in s:
if j == ’0’:
summa -= 2
if j == ’1’:
summa *= 3
if summa == 304:
print(s, summa)
Ответ: 221221