Давайте пошагово решим задачу — составим алгоритм из не более чем 5 команд, который превращает число 2 в число 26, используя два вида команд:
- умножь на 2
- прибавь 3
Начинаем с числа 2 и ищем последовательность команд, которая приведёт нас к 26.
Шаг 1: Посмотрим, как можно приблизиться к 26, используя эти операции.
Обратимся к числу 26 и попробуем понять, как было получено:
- От 26 можно было прийти, прибавив 3, — тогда предыдущее число было 23 (если применим команду "прибавить 3" к 23).
- Или же, если было умножение, то делим 26 на 2 — получим 13.
Проверим деление на 2 — 26/2=13 (целое число), значит, операцией умножения на 2 перед получением 26 было число 13.
Шаг 2: Посмотрим, как можно получить 13.
- От 13 можно было прийти, прибавив 3 (если добавляли 3 к какому-то числу?), тогда предыдущее число было 10.
- Или умножением на 2 — 13/2 — не целое число, значит, этот вариант исключён.
Значит, предположим, что движемся назад по пути:
- 13 — получено прибавлением 3 к 10.
- Тогда: 10 было получено умножением 5 на 2 (учитывая, что 10=5*2).
Но запомним, что мы начали с 2 и хотим получить 26, двигаясь вперёд.
Шаг 3: Построим прямой путь из 2 к 26 за 5 команд или менее.
Вариант:
- Умножить 2 на 2 → получим 4
- Умножить 4 на 2 → получим 8
- Прибавить 3 → получим 11
- Умножить 11 на 2 → получим 22
- Прибавить 3 → получим 25
Получили 25, осталось до 26 — всего 1, нужно прибавить 1, но есть только командные операции — прибавить 3 или умножить на 2, а не вычитать.
Попробуем другой путь:
Вариант 2:
- Умножить 2 на 2 → 4
- Умножить 4 на 2 → 8
- Прибавить 3 → 11
- Прибавить 3 → 14
- Умножить 14 на 2 → 28 (превысили 26)
Это не подходит, так как перешли за 26.
Вариант 3: Разобьём задачи иначе:
- Попробуем сначала прибавить 3 к 2 — получится 5
- Умножить 5 на 2 — 10
- Добавить 3 — 13
- Умножить 13 на 2 — 26
Получили число 26!
Всего команд:
- прибавь 3 (2 → 5)
- умножь на 2 (5 → 10)
- прибавь 3 (10 → 13)
- умножь на 2 (13 → 26)
Это — правильный и короткий алгоритм:
Ответ: PSTU4 — это команды:
2 (прибавь 3), 1 (умножь на 2), 2 (прибавь 3), 1 (умножь на 2)
или в виде последовательности номеров команд: 2131
ИТОГ:
Ответ: 2131
Он соответствует следующему алгоритму:
- прибавить 3 (число 2 → 5)
- умножить на 2 (5 → 10)
- прибавить 3 (10 → 13)
- умножить на 2 (13 → 26)
Если нужно, я могу объяснить подробнее или проверить другую последовательность.