Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Удвоить
2. Удвоить и прибавить
Первая команда умножает число на экране на 2, вторая – умножает его на 2, а затем прибавляет 1.
Программа для исполнителя – это последовательность команд. Например, программа 121 при исходном числе 3 последовательно получит числа 6, 13 и 26. Результатом программы будет число 26.
Сколько различных результатов можно получить из исходного числа 1 после выполнения программы, содержащей ровно 9 команд?
Ответ:
СтатГрад Вариант ИН2010502 26.04.2021– задание №23
Решение:
|
1 2 3 4 5 6 7 8 9 10 11 |
from itertools import product s = set() for command in product('12', repeat=9): n=1 for i in range(len(command)): if command[i]=='1': n=n*2 if command[i]=='2': n=n*2+1 s.add(n) print(len(s)) |
Ответ: 512