Ответ:
Решение:
Нам нужно получить число 50, начиная с числа 4, используя команды «прибавь 3» (1) и «умножь на 2» (2). Алгоритм должен содержать не более 5 команд.
Попробуем выполнить команды в обратном порядке от 50:
- Если последнее действие — «умножь на 2», то предыдущее число было 50 / 2 = 25.
- Теперь нужно получить 25, начиная с 4.
- Если последнее действие «прибавь 3», то предыдущее число было 25 - 3 = 22.
- Начинаем с 4, нужно получить 22.
- 22 / 2 = 11 (команда 2).
- 11 - 3 = 8 (команда 1).
- 8 / 2 = 4 (команда 2).
Получаем последовательность команд в обратном порядке: 2, 1, 2, 2, 1.
В прямом порядке (от 4 к 50):
- 4 + 3 = 7 (команда 1)
- 7 * 2 = 14 (команда 2)
- 14 + 3 = 17 (команда 1)
- 17 * 2 = 34 (команда 2)
- 34 + 3 = 37 (команда 1) — не 50
Попробуем другой путь:
- 4 * 2 = 8 (команда 2)
- 8 * 2 = 16 (команда 2)
- 16 + 3 = 19 (команда 1)
- 19 * 2 = 38 (команда 2)
- 38 + 3 = 41 (команда 1) — не 50
Снова попробуем от 50, но с другой логикой. Если не делим на 2, то вычитаем 3. 50 - 3 = 47. 47 не делится на 2. Значит, последнее действие точно умножение.
Давайте попробуем сгенерировать последовательности:
- 4 + 3 = 7 (1)
- 7 * 2 = 14 (2)
- 14 * 2 = 28 (2)
- 28 + 3 = 31 (1)
- 31 * 2 = 62 (2) — не 50
- 4 * 2 = 8 (2)
- 8 + 3 = 11 (1)
- 11 * 2 = 22 (2)
- 22 + 3 = 25 (1)
- 25 * 2 = 50 (2)
Получили последовательность из 5 команд: 2, 1, 2, 1, 2.
Ответ: 21212
