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