У исполнителя Удвоитель две команды, которым присвоены номера:
1. умножь на 2
2. прибавь 3
Первая из них увеличивает число на экране в 2 раза, вторая прибавляет
к числу 3.
Составьте алгоритм получения из числа 4 числа 47, содержащий не более 5 команд. В ответе запишите только номера команд.
(Например, 12211 –– это алгоритм:
умножь на 2
прибавь 3
прибавь 3
умножь на 2
умножь на 2
который преобразует число 1 в 32.)
Если таких алгоритмов более одного, то запишите любой из них.
РЕШЕНИЕ
Будем идти от числа 47 к числу 4 применяя противоположные команды, так мы будем видеть когда промежуточный результат можно разделить на 2 без остатка.
Тогда мы имеем команды:
1. Раздели на 2
2. Вычти 3
1. 47, нельзя разделить на 2 без остатка, вычитаем 3
47-3=44
Команда 2
2. 44, можно разделить на 2 без остатка
44/2=22
Команда 1
3. 22, можно разделить на 2 без остатка
22/2=11
Команда 1
4. 11, нельзя разделить на 2 без остатка, вычитаем 3
11-3=8
Команда 2
5. 8, можно разделить на 2 без остатка
8/2=4 -искомый результат
Команда 1
Переписываем номера команд снизу вверх , так как шли в обратном порядке - 12112 (не больше 5 команд, как и необходимо по условию)
ОТВЕТ 12112