Задание 3. Тип заданий 6: алгоритмы.
  • Задание:

    У исполнителя Удвоитель две команды, которым присвоены номера:

    1. прибавь 1,

    2. умножь на 2.

    Первая из них увеличивает число на экране на 1, вторая утраивает его.

    Например, 1221 — это программа

    прибавь 1

    умножь на 2

    умножь на 2

    прибавь 1

    которая преобразует число 5 в число 25.

    Запишите порядок команд в программе, которая преобразует число 4 в число 37 и содержит не более пяти команд. Если таких программ несколько, напишите любую из них.

  • Решение:

    Обратите внимание на вторую команду — умножь на 2. Умножать на 2 мы можем любое число, а вот делить на 2 для получения целого числа можно только чётные.

    То есть гораздо проще преобразовывать не 4 в 37, а 37 в 4, и при этом использовать противоположные команды:

    1. вычти 1,

    2. раздели на 3.

    В это случае мы можем видеть, делится ли число на 2 или нет, если не делится — будем вычитать единицу.

    37 на 2 не делится, то есть мы можем только вычесть 1, 37-1=36

    36 на 2 делится, 36:2=18

    18 на 2 делится, 18:2=9

    9 на 2 не делится, то есть мы можем только вычесть 1, 9-1=8

    8 на 2 делится, и из 8 мы можем сразу получить требуемое число, 8:2=4

    Получается, что порядок команд для преобразования числа 37 в 4 — 12212

    Нам же нужно было перевести 4 в 37, то есть запишем обратный порядок команд: 21221

    Ответ: 21221

Поделиться:
 
Комментарии (0)

Нет комментариев. Ваш будет первым!

Перевести число из в Результат: 510 = 1012