5.04 Нестандартные задачи
Готовиться с нами - ЛЕГКО!
Ошибка.
Попробуйте повторить позже
У исполнителя Математик есть две команды:
1. Прибавить 3,
2. Умножить на 2.
Первая команда увеличивает число на 3, а вторая удваивает его.
Запишите порядок команд в программе преобразования числа 2 в число 52, содержащей не более 5 команд, указывая лишь номера команд. Если таких программ более одной, то запишите любую из них.
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)
Ошибка.
Попробуйте повторить позже
У исполнителя АТЛАНТ две команды, которым присвоены номера:
1. Вычти 2
2. Умножь на 3
Первая из них уменьшает число на экране на 2, вторая – увеличивает его в три раза.
Запишите порядок команд в программе получения из числа 4 число 304, содержащей не более 6 команд, указывая лишь номера команд.
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)
Ошибка.
Попробуйте повторить позже
У исполнителя Составь_план_подготовки_в_закрытой_группе есть команды:
1. Прибавить
2. Умножить на
Какое число будет выведено в результате работы программы при исходном числе
?
(план подготовки и правда нужно составить, если еще не сделал этого)
def f(x, code): if code == ’1’: return x + 2 if code == ’2’: return x * 2 n = 6 for c in ’212122’: n = f(n, c) print(n)