Нам нужно получить число 120 из числа 2, используя не более 5 команд. Команды: 1. умножь на 4; 2. вычти 1.
Пробуем найти последовательность команд:
Этот вариант не подходит, так как получили 126, а нужно 120.
Попробуем другую последовательность:
Попробуем такой вариант:
Давайте подумаем, как из 128 получить 120, используя только вычитание 1. Нужно вычесть 8 раз.
Попробуем начать с вычитания:
Вернемся к варианту, где получили 128. Нам нужно получить 120. От 128 нужно отнять 8. Если мы используем команду «вычти 1», то нам понадобится 8 таких команд. Но у нас всего 5 команд. Значит, мы должны достичь числа, из которого можно вычесть 1, чтобы получить 120.
Рассмотрим вариант, где мы получаем число близкое к 120. Нам нужно 120.
Если мы хотим получить 120, и последняя команда — вычитание 1, то предыдущее число должно быть 121. Как из 2 получить 121 за 4 команды?
Если последняя команда — умножение на 4, то предыдущее число должно быть 30 (120 / 4). Как из 2 получить 30 за 4 команды?
Попробуем так: 2 -> 8 -> 32 -> 128. Теперь нам нужно получить 120. Нам нужно вычесть 8. Если мы используем только команду «вычти 1», то это 8 команд. Значит, мы не можем получить 120, если последняя команда — вычитание.
Давайте посмотрим на пример: 1 -> 4 -> 16 -> 64 -> 256. Это 4 команды. А нам нужно 5.
Попробуем получить 120 из 2:
Рассмотрим другой подход. Если последнее действие — умножение на 4, то предыдущее число должно быть 30. Как из 2 получить 30 за 4 действия?
Если последнее действие — вычитание 1, то предыдущее число должно быть 121. Как из 2 получить 121 за 4 действия?
Попробуем получить 120, используя 5 команд. Команды: 1 — умножить на 4, 2 — вычесть 1.
Начнем с 2.
Попробуем другую последовательность:
Чтобы получить 120, нам нужно достичь числа, из которого можно получить 120. Если последнее действие — умножение на 4, то предыдущее должно быть 30. Как получить 30 из 2 за 4 команды?
Если последнее действие — вычитание 1, то предыдущее число должно быть 121. Как из 2 получить 121 за 4 команды?
Попробуем другой подход. Нам нужно получить 120. Если мы используем 3 раза команду «умножить на 4», мы получаем 128 (2 * 4 * 4 * 4 = 128). Остается 2 команды. Мы можем вычесть 1 два раза: 128 - 1 - 1 = 126. Это слишком много.
Если мы используем 2 раза команду «умножить на 4», мы получаем 32 (2 * 4 * 4 = 32). Остается 3 команды. Нужно получить 120 из 32 за 3 команды.
32 * 4 = 128. Остается 2 команды. 128 - 1 - 1 = 126. (не 120)
32 - 1 = 31. Остается 2 команды. 31 * 4 = 124. Остается 1 команда. 124 - 1 = 123. (не 120)
Попробуем другой подход. Нам нужно получить 120. Команды: 1 (умножить на 4), 2 (вычесть 1). Максимум 5 команд.
Давайте составим алгоритм:
Это 5 команд, но результат 126.
Попробуем получить 120:
Это 5 команд, но результат 123.
Попробуем еще раз:
Если последняя команда — вычитание 1, то предыдущее число должно быть 121. Как получить 121 из 2 за 4 команды?
Используем 5 команд. Нам нужно получить 120. Возможный алгоритм:
Рассмотрим: 11122. Это 5 команд.
2 \( \times 4 = 8 \)
8 \( \times 4 = 32 \)
32 \( \times 4 = 128 \)
128 - 1 = 127
127 - 1 = 126
Попробуем получить 120.
Если последняя команда — умножение на 4, то предыдущее число должно быть 30. Как получить 30 из 2 за 4 команды?
Это 4 команды, а нам нужно 5. Значит, последняя команда — умножить на 4, а перед ней — 30. Получение 30 за 4 команды:
Итак, алгоритм: 1122. Это 4 команды. Но нам нужно 5 команд, чтобы получить 120.
Давайте попробуем получить 30 за 4 команды, чтобы потом умножить на 4.
Тогда алгоритм 11221. Это 5 команд. 2 -> 8 -> 32 -> 31 -> 30 -> 120. Это подходит!
Проверим:
Команды: 1, 1, 2, 2, 1.
Ответ: 11221