У исполнителя вычислительной две команды, которым присвоены номера 1. умножь на 3 2. вычти 1 первая из них увеличивает

число на экране в 3 раза, вторая уменьшает его на 1. составьте алгоритм получения из числа 1 числа 23, содержащий не более 5 команд в ответе напишите только номера команд. (Например 12212- это алгоритм умножь на 3 вычти 1 вычти 1 умножь на 3 вычти 1, который преобразует число 3 в число 20.) если таких алгоритмов более одного, то запишите любой из них.
Аноним
2227
2
18 августа
17:36

Ответ или решение

отвечает Калинина Валерия
07 ноября
02:10

 

  Инверсные команды

 

   Имеем две команды:

   №1: умножь на 3;

   №2: вычти 1.

   С помощью пяти последовательных выполнений этих двух команд мы должны получить из числа 1 число 23.

   Заметим, что каждое из этих команд из целого числа получает целое число.

 

   Для решения задачи рассмотрим инверсные команды для этих двух команд:

   №3: раздели на 3;

   №4: прибавь 1.

   Нам нужно идти в обратном порядке и с помощью этих двух инверсных команд преобразовать число 23 в число 1.

 

  Алгоритм преобразования числа 23 в число 1

 

   Для удобства введем переменную x, которая в ходе выполнения команд меняет свое значение. 

   Команда №3 может применяться лишь в том случае, когда входное число делится на 3. Поскольку команда №4 увеличивает число на 1, то, очевидно, команду №3 можем выбрать только для значений x: 24, 27, 30 и т.д. Однако, чтобы получить число 27, команда №4 должна применяться четыре раза, а с помощью последней (пятой) команды невозможно из числа 27 получить число 1.

 

   Итак, имеем следующие преобразования (в обратном порядке):

   1. x = 23.
      23 + 1 = 24 (команда №4).

   2. x = 24.
      24 : 3 = 8 (№3).

   3. х = 8. Число 8 не делится на 3, следовательно, подходит команда №4:
      8 + 1 = 9 (№4).

   4. х = 9. Остались две команды, очевидно, что должна дважды применяться команда №3.
      9 : 3 = 3 (№3).

   5. х = 3:
      3 : 1 = 1 (№3).

 

  Алгоритм преобразования числа 1 в число 23


   Таким образом, имеем единственное решение:

  1.   1 * 3 = 3 (команда №1),
  2.   3 * 3 = 9 (№1),
  3.   9 - 1 = 8 (№2),
  4.   8 * 3 = 24 (№1),
  5.   24 - 1 = 23 (№2).

 

   Ответ: 11212.

 


Ответ или решение

отвечает Данилова Алевтина
21 августа
20:35
Алгоритм получения из числа 1 числа 23 для данного исполнителя будет содержать 5 команд, а именно: 1. 1 * 3 = 3 (1 команда); 2. 3 * 3 = 9 (1 команда); 3. 9 - 1 = 8 (2 команда); 4. 8 * 3 = 24 (1 команда); 5. 24 - 1 = 23 (2 команда); В виде строки номеров команд: 11212. Ответ: 11212.

Знаете ответ?

Похожие вопросы


посмотреть все
Яндекс.Метрика