Задача 8
Задача проверяет, что вы умеете создавать базовые алгоритмы для преобразования чисел.
Вам дается ограниченный набор операций (две штуки) и ограничения на максимальное количество команд (обычно пять команд).
Если у вас две операции и пять команд, то количество комбинаций (последовательностей) команд, может быть, максимум
| № | Команда 1 | Команда 2 | Команда 3 | Команда 4 | Команда 5 | Результат? |
|---|---|---|---|---|---|---|
| 1 | Операция 1 | Операция 1 | Операция 1 | Операция 1 | Операция 1 | |
| 2 | Операция 1 | Операция 1 | Операция 1 | Операция 1 | Операция 2 | |
| 3 | Операция 1 | Операция 1 | Операция 1 | Операция 2 | Операция 1 | |
| 4 | Операция 1 | Операция 1 | Операция 1 | Операция 2 | Операция 2 | |
| 5 | Операция 1 | Операция 1 | Операция 2 | Операция 1 | Операция 1 | |
| 6 | Операция 1 | Операция 1 | Операция 2 | Операция 1 | Операция 2 | |
| 7 | Операция 1 | Операция 1 | Операция 2 | Операция 2 | Операция 1 | |
| 8 | Операция 1 | Операция 1 | Операция 2 | Операция 2 | Операция 2 | |
| 9 | Операция 1 | Операция 2 | Операция 1 | Операция 1 | Операция 1 | |
| 10 | Операция 1 | Операция 2 | Операция 1 | Операция 1 | Операция 2 | |
| 11 | Операция 1 | Операция 2 | Операция 1 | Операция 2 | Операция 1 | |
| 12 | Операция 1 | Операция 2 | Операция 1 | Операция 2 | Операция 2 | |
| 13 | Операция 1 | Операция 2 | Операция 2 | Операция 1 | Операция 1 | |
| 14 | Операция 1 | Операция 2 | Операция 2 | Операция 1 | Операция 2 | |
| 15 | Операция 1 | Операция 2 | Операция 2 | Операция 2 | Операция 1 | |
| 16 | Операция 1 | Операция 2 | Операция 2 | Операция 2 | Операция 2 | |
| 17 | Операция 2 | Операция 1 | Операция 1 | Операция 1 | Операция 1 | |
| 18 | Операция 2 | Операция 1 | Операция 1 | Операция 1 | Операция 2 | |
| 19 | Операция 2 | Операция 1 | Операция 1 | Операция 2 | Операция 1 | |
| 20 | Операция 2 | Операция 1 | Операция 1 | Операция 2 | Операция 2 | |
| 21 | Операция 2 | Операция 1 | Операция 2 | Операция 1 | Операция 1 | |
| 22 | Операция 2 | Операция 1 | Операция 2 | Операция 1 | Операция 2 | |
| 23 | Операция 2 | Операция 1 | Операция 2 | Операция 2 | Операция 1 | |
| 24 | Операция 2 | Операция 1 | Операция 2 | Операция 2 | Операция 2 | |
| 25 | Операция 2 | Операция 2 | Операция 1 | Операция 1 | Операция 1 | |
| 26 | Операция 2 | Операция 2 | Операция 1 | Операция 1 | Операция 2 | |
| 27 | Операция 2 | Операция 2 | Операция 1 | Операция 2 | Операция 1 | |
| 28 | Операция 2 | Операция 2 | Операция 1 | Операция 2 | Операция 2 | |
| 29 | Операция 2 | Операция 2 | Операция 2 | Операция 1 | Операция 1 | |
| 30 | Операция 2 | Операция 2 | Операция 2 | Операция 1 | Операция 2 | |
| 31 | Операция 2 | Операция 2 | Операция 2 | Операция 2 | Операция 1 | |
| 32 | Операция 2 | Операция 2 | Операция 2 | Операция 2 | Операция 2 |
Легко заметить, что эта таблица - числа в двоичной системе от нуля (
Такой способ относительно долгий, потому что надо будет считать 32 раза набор команд на листочке или в уме. Его можно легко оптимизировать, понимая, что набор команд (
Но есть другой вариант решения - начать с конца. Посмотрите внимательно на число, которое вам надо получить, и постройте цепочку из обратных команд, которые можно применять по заданию. Подробнее, этот метод разбирается на видео.
Темы:
Варианты: