Давайте решим задачу, чтобы из числа 7 получить число 52, используя не более 4 команд.
Дано:
- Начальное число: 7
- Конечное число: 52
- Доступные команды:
- Умножить на 2
- Вычесть 1
Цель: Найти последовательность команд (номер команд), которая за не более чем 4 шага преобразует 7 в 52.
Шаг 1: Анализ идеи
Чтобы быстро получить 52 из 7, лучше использовать умножение, поскольку оно увеличивает число быстрее, чем вычитание.
Можем рассуждать так:
- Чтобы получить 52 из меньших чисел, проверим, может ли число быть результатом умножения.
Шаг 2: Обратный подход
Рассмотрим процесс "обратно," то есть, как добиться 52, идя назад:
- Если число четное, его можно было получить через умножение на 2 предшествующего числа.
- Если число нечетное, его могли получить через вычитание 1 из следующего числа.
Начнем с 52 и попробуем "отменить" операции.
Шаг 3: Обратный путь
Начинаем с 52:
52:
Поскольку 52 четное, предположим, что его могли получить умножением на 2 из числа 26.
26:
Также четное, значит, предположим, что его можно было получить умножением на 2 из 13.
13:
Нечетное, значит, его могли получить вычитанием 1 из числа 14.
14:
Четное — это могло быть результат умножения на 2 из 7.
Шаг 4: Проверка последовательности
Обратный путь:
7 → (умножить на 2) → 14 → (вычесть 1) → 13 → (умножить на 2) → 26 → (умножить на 2) → 52
Получается следующая последовательность обратных команд:
7 → ×2 → 14 → -1 → 13 → ×2 → 26 → ×2 → 52
Значит, обратные команды:
- Умножение на 2 (команда 1)
- Вычитание 1 (команда 2)
Шаг 5: Вперед, прямое решение
Теперь составим прямой алгоритм:
- 7 — начальное число
- Выполнить умножение на 2 → 14
- Выполнить вычитание 1 → 13
- Выполнить умножение на 2 → 26
- Выполнить умножение на 2 → 52
Обратите внимание, всего 5 команд, что превышает условие (не более 4).
Шаг 6: Попытка сделать за 4 шага
Проверим, можно ли сделать за 4 шага:
Первый командой умножить на 2: 7 → 14
Второй командой умножить на 2: 14 → 28
Третий командой умножить на 2: 28 → 56.
Это уже больше — нам нужно 52, а 56 — не подходит.
Или, если после первого умножения на 2 (14), вычти 1: 14 → 13, затем умножить на 2: 13 → 26, затем еще умножить на 2: 26 → 52
Это всё — 4 шага:
Команда 1: умножь на 2 (7→14)
Команда 2: вычти 1 (14→13)
Команда 3: умножь на 2 (13→26)
Команда 4: умножь на 2 (26→52)
Итог:
Последовательность команд:
1 2 1 1
- 7 (начинаем)
- 7 умножить на 2 → 14
- 14 вычесть 1 → 13
- 13 умножить на 2 → 26
- 26 умножить на 2 → 52
Это — решение, использующее 4 команд.
Ответ:
1 2 1 1