У исполнителя Вычислитель две команды, которым присвоены номера:
1. умножь на 2
2. вычти 1
Первая из них увеличивает число на экране в 2 раза, вторая уменьшает его
на 1.
Составьте алгоритм получения из числа 9 числа 29, содержащий не более
5 команд. В ответе запишите только номера команд.
(Например, 12212 –– это алгоритм:
умножь на 2
вычти 1
вычти 1
умножь на 2
вычти 1,
который преобразует число 5 в число 15.)
Если таких алгоритмов более одного, запишите любой из них.
РЕШЕНИЕ
Будем идти от числа 29 к числу 9 применяя противоположные команды, так мы будем видеть когда промежуточный результат можно без остатка поделить на 2.
Тогда мы имеем команды:
1. Раздели на 2
2. Прибавь 1
1) 29 нельзя без остатка поделить на 2, прибавим:
29 + 1 = 30
Команда 2
2) 30 можно без остатка поделить на 2:
30 / 2 = 15
Команда 1
3) 15 нельзя без остатка поделить на 2, прибавим:
15 + 1 = 16
Команда 2
4) 16 можно без остатка поделить на 2:
16 / 2 = 9
Команда 1
5) 8 + 1 = 9 - искомый результат
Команда 2
Переписываем номера команд снизу вверх , так как шли в обратном порядке - 21212 (не больше 5 команд, как и необходимо по условию)
ОТВЕТ 21212