Используем команды "прибавить 3" (обозначим как 1) и "умножить на 2" (обозначим как 2). Цель - получить 37 из 8, используя не более 5 команд.
Попробуем другой порядок:
Еще один вариант:
Давайте посмотрим на пример: 12221 -> 1 -> 1+3=4 -> 4*2=8 -> 8*2=16 -> 16*2=32 -> 32+3=35. Этот пример приводит к 35, а не 37.
Вернемся к задаче: получить 37 из 8.
Команды: 1 - прибавить 3, 2 - умножить на 2.
Попробуем получить 37. Нужно получить число, которое при умножении на 2 даст число, близкое к 37, или число, к которому прибавив 3, получим 37 (то есть 34).
Чтобы получить 34, нам нужно 5 команд. Попробуем:
Это не подходит.
Попробуем получить 37. Это нечетное число, значит, последняя команда должна быть "прибавить 3" (если предыдущее число было четным) или "прибавить 3" (если предыдущее число было нечетным, что невозможно, так как умножение на 2 всегда дает четное число).
Если последняя команда "прибавить 3", то перед этим было 34. Как получить 34 из 8 за 4 команды?
Давайте переформулируем. Какое число, умноженное на 2, даст близкое к 37? Это 18 или 19.
Как получить 18 из 8 за 3 команды?
Это не 18.
Как получить 19 из 8 за 3 команды?
Это 2 команды. Итак, алгоритм:
Попробуем иначе.
Цель: 37.
Команды: 1 (+3), 2 (*2).
8 -> ? -> ? -> ? -> ? -> 37
Пробуем с конца:
37. Последняя команда может быть +3 (тогда было 34) или *2 (тогда было 18.5 - не подходит).
Значит, перед 37 было 34. Как получить 34 из 8 за 4 команды?
34. Последняя команда может быть +3 (тогда было 31) или *2 (тогда было 17).
Вариант 1: было 17. Как получить 17 из 8 за 3 команды?
17. Последняя команда может быть +3 (тогда было 14) или *2 (тогда было 8.5 - не подходит).
Значит, было 14. Как получить 14 из 8 за 2 команды?
14. Последняя команда может быть +3 (тогда было 11) или *2 (тогда было 7 - не подходит).
Значит, было 11. Как получить 11 из 8 за 1 команду?
11 = 8 + 3. Это команда 1.
Следовательно, последовательность для получения 14 из 11: команда 1 (+3). Но 14 = 11 + 3. Тогда 11 = 8 + 3. Получается: 8 + 3 + 3 = 14.
Получаем 14 за 2 команды (1, 1).
Далее: 14 -> 17 (команда 1).
Далее: 17 -> 34 (команда 2).
Далее: 34 -> 37 (команда 1).
Итоговый алгоритм: 1, 1, 1, 2, 1.
Проверка: 8 + 3 = 11. 11 + 3 = 14. 14 + 3 = 17. 17 * 2 = 34. 34 + 3 = 37.
Количество команд: 5. Все команды допустимы.
Ответ: 11121