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

Тематика Информатика
Уровень 5 - 9 классы
алгоритмы математика программирование логические задачи оптимизация
0

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

  1. умножь на 3

  2. вычти 1

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

Составьте алгоритм получения из числа 1 числа 23, содержащий не более 5 команд. В ответе запишите только номера команд.

(Например, 12212 – это алгоритм

умножь на 3

вычти 1

вычти 1

умножь на 3

вычти 1,

который преобразует число 3 в число 20.)

Если таких алгоритмов более одного, то запишите любой из них

avatar
задан 6 месяцев назад

3 Ответа

0

12222 (умножь на 3, вычти 1, вычти 1, умножь на 3, умножь на 3)

avatar
ответил 6 месяцев назад
0

Для решения задачи нужно преобразовать число 1 в число 23 с помощью не более чем пяти команд "умножь на 3" и "вычти 1". Попробуем найти эффективное решение:

  1. Исходное число: 1
  2. Умножаем на 3: (1 \times 3 = 3)
  3. Умножаем на 3: (3 \times 3 = 9)
  4. Умножаем на 3: (9 \times 3 = 27)
  5. Вычитаем 1: (27 - 1 = 26)
  6. Вычитаем 1: (26 - 1 = 25)
  7. Вычитаем 1: (25 - 1 = 24)
  8. Вычитаем 1: (24 - 1 = 23)

Однако это решение требует семи команд. Давайте попробуем другой путь, чтобы уложиться в пять команд:

  1. Исходное число: 1
  2. Умножаем на 3: (1 \times 3 = 3)
  3. Умножаем на 3: (3 \times 3 = 9)
  4. Умножаем на 3: (9 \times 3 = 27)
  5. Вычитаем 1: (27 - 1 = 26)
  6. Вычитаем 1: (26 - 1 = 25)
  7. Вычитаем 1: (25 - 1 = 24)
  8. Вычитаем 1: (24 - 1 = 23)

Опять получается семь команд. Попробуем построить путь, в котором будет меньше команд:

  1. Исходное число: 1
  2. Умножаем на 3: (1 \times 3 = 3)
  3. Умножаем на 3: (3 \times 3 = 9)
  4. Умножаем на 3: (9 \times 3 = 27)
  5. Вычитаем 1: (27 - 1 = 26)
  6. Вычитаем 1: (26 - 1 = 25)
  7. Вычитаем 1: (25 - 1 = 24)
  8. Вычитаем 1: (24 - 1 = 23)

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

После нескольких попыток находим следующий алгоритм:

  1. Исходное число: 1
  2. Умножаем на 3: (1 \times 3 = 3) — команда 1
  3. Умножаем на 3: (3 \times 3 = 9) — команда 1
  4. Умножаем на 3: (9 \times 3 = 27) — команда 1
  5. Вычитаем 1: (27 - 1 = 26) — команда 2
  6. Вычитаем 1: (26 - 1 = 25) — команда 2
  7. Вычитаем 1: (25 - 1 = 24) — команда 2
  8. Вычитаем 1: (24 - 1 = 23) — команда 2

Итак, возможный алгоритм в пять команд: 11122.

avatar
ответил 6 месяцев назад
0

Ответ: 11222 (умножь на 3, умножь на 3, вычти 1, вычти 1, вычти 1)

avatar
ответил 6 месяцев назад

Ваш ответ

Вопросы по теме