Наша цель — преобразовать число 1 в число 99, используя не более 5 команд (отнять 1 или умножить на 5).
Попробуем обратный ход: начать с 99 и прийти к 1, используя обратные операции (прибавить 1, разделить на 5). Если число не делится на 5, то последней командой должно быть "отнять 1".
Начнем с 99:
Попробуем прямой ход:
Значит, нам нужно комбинировать умножение и вычитание.
Попробуем такой вариант:
Попробуем другой вариант, чтобы не превысить 99:
Рассмотрим, как можно получить 99.
Если предпоследнее число было 94, то 94 + 5 = 99. Но это не подходит, у нас нет команды "прибавить 5".
Если последнее действие было "отнять 1", то перед этим было 100. 100 - 1 = 99. (Команда 1)
Теперь как получить 100 из 1 за 4 команды?
1 * 5 = 5 (Команда 2)
5 * 5 = 25 (Команда 2)
25 * 5 = 125 (Команда 2) - уже больше 100.
Попробуем другой путь к 100:
1 -> 2 (отнять 1) = 0. Не подходит.
1 -> 2 (отнять 1) -> 2 (отнять 1) = -1. Не подходит.
Давайте попробуем получить 100. Если мы умножим на 5, получим 20. (1 -> 2 -> 20). Теперь 20 * 5 = 100. (20 -> 2 -> 100).
Получаем последовательность команд: 2 (1 * 5 = 5), 2 (5 * 5 = 25). Это 2 команды, получили 25.
Нам нужно получить 100. Из 25, чтобы получить 100, нам нужно умножить на 4. У нас такой команды нет.
Попробуем иначе. Может быть, 99 достигается без последнего "отнять 1"?
Нам нужно получить 99. Если последняя команда "умножить на 5", то перед этим было 99/5, что не является целым числом.
Значит, последняя команда ОБЯЗАТЕЛЬНО "отними 1". Перед этим было 100.
Теперь наша задача: получить 100 из 1 за 4 команды.
Если мы сделаем 25 + 75, получим 100. Но у нас нет команды "прибавить 75".
Попробуем с другой стороны: 1 -> 2 (отнять 1) = 0. Не подходит.
Попробуем получить 100 из 1:
1. 1 * 5 = 5 (Команда 2)
2. 5 * 5 = 25 (Команда 2)
3. 25 + 5 = 30 (невозможно)
4. 25 * ? = 100. Это 25 * 4. Невозможно.
Может быть, 100 можно получить с помощью команды "отними 1"?
Если последняя команда перед 100 была "отними 1", то перед ней было 101.
Как получить 101 из 1?
1 * 5 = 5 (2)
5 * 5 = 25 (2)
25 * 5 = 125 (2). Это уже много.
Что если:
1. 1 * 5 = 5 (2)
2. 5 * 5 = 25 (2)
3. 25 - 1 = 24 (1)
4. 24 * 5 = 120 (2). Это больше 100.
Давайте вернемся к 100. Как получить 100 из 1 за 4 команды?
1 -> 2 (умножить на 5) = 5
5 -> 2 (умножить на 5) = 25
25 -> 1 (отнять 1) = 24
24 -> 2 (умножить на 5) = 120. Слишком много.
Что если использовать "отними 1" чаще?
1 -> 2 (умножить на 5) = 5
5 -> 1 (отнять 1) = 4
4 -> 2 (умножить на 5) = 20
20 -> 2 (умножить на 5) = 100. Отлично!
Итак, последовательность команд для получения 100 из 1:
2, 1, 2, 2 (5 команд)
1. 1 * 5 = 5 (2)
2. 5 - 1 = 4 (1)
3. 4 * 5 = 20 (2)
4. 20 * 5 = 100 (2)
Теперь нам нужно из 100 получить 99. Для этого используем команду "отними 1" (1).
Полная последовательность команд: 21221.
Проверим:
1 --(2)--> 5
5 --(1)--> 4
4 --(2)--> 20
20 --(2)--> 100
100 --(1)--> 99
Всего 5 команд. Число команд не более 5. Число 1 преобразовано в 99.
Ответ: 21221