Задание 2. Тип заданий 6: алгоритмы.
- Задание:
У исполнителя Удвоитель две команды, которым присвоены номера: 1. прибавь 1,
2. умножь на 3. Первая из них увеличивает число на экране на 1, вторая утраивает его. Например, 1221 — это программа
прибавь 1 умножь на 3
умножь на 3 прибавь 1
которая преобразует число 1 в число 19. Запишите порядок команд в программе, которая преобразует число 5 в число 56 и содержит не более пяти команд. Если таких программ несколько, напишите любую из них.
- Решение:
Обратите внимание на вторую команду — умножь на 3. Умножать на 3 мы можем любое число, а вот делить на 3 — нет. То есть гораздо проще преобразовывать не 5 в 56, а 56 в 5, и при этом использовать противоположные команды: 1. вычти 1,
2. раздели на 3. 56 на 3 не делится, то есть мы можем только вычесть 1, 56-1=55 55 на 3 не делится, то есть мы можем только вычесть 1, 55-1=54 54 на 3 делится, 54:3=18 18 на 3 делится, 18:3=6 6 на 3 делится, но нам нужно получить число 5, то есть применим первую команду 6-1=5 Получается, что порядок команд для преобразования числа 56 в 5 — 11221 Нам же нужно было перевести 5 в 56, то есть запишем обратный порядок команд: 12211 Ответ: 12211
|
Комментарии ()