Вопрос:

7 У исполнителя Вычислитель две команды, которым присвоены номера: 1. раздели на 2 2. прибавь 1 Первая из них уменьшает число на экране в 2 раза, вторая увеличивает число на 1. Составьте алгоритм получения из числа 32 числа 11, содержащий не более 5 команд. В ответе запишите только номера команд. (Например, 11221 - это алгоритм: раздели на 2 раздели на 2 прибавь 1 прибавь 1 раздели на 2, который преобразует число 40 в число 6.) Если таких алгоритмов более одного, то запишите любой из них. Ответ:

Смотреть решения всех заданий с листа

Ответ:

Краткое пояснение: Для решения задачи необходимо подобрать последовательность команд "раздели на 2" и "прибавь 1", чтобы из исходного числа 32 получить число 11, используя не более 5 команд.

Пошаговое решение:

Исходное число: 32

Целевое число: 11

Допустимое количество команд: не более 5

Команды:

  1. Раздели на 2
  2. Прибавь 1

Алгоритм:

  1. 32 / 2 = 16 (Команда 1)
  2. 16 / 2 = 8 (Команда 1)
  3. 8 + 1 = 9 (Команда 2)
  4. 9 + 1 = 10 (Команда 2)
  5. 10 + 1 = 11 (Команда 2)

Полученный алгоритм: 11222

Проверим количество команд: 5 команд. Условие выполнено.

Альтернативный вариант:

  1. 32 / 2 = 16 (Команда 1)
  2. 16 + 1 = 17 (Команда 2)
  3. 17 / 2 = 8.5 (не подходит, так как результат должен быть целым числом, если не указано иное. Подразумевается, что промежуточные результаты могут быть нецелыми, но команды работают с целыми числами. В условии задачи нет явного указания на целочисленность промежуточных результатов, но обычно в таких задачах подразумевается целочисленность. Если допустить нецелые, то: 17/2=8.5, 8.5+1=9.5, 9.5+1=10.5, 10.5/2=5.25 - уходим от цели. Вернемся к первому варианту.)

Рассмотрим еще один вариант, чтобы убедиться в корректности первого:

  1. 32 + 1 = 33 (Команда 2)
  2. 33 / 2 = 16.5 (не подходит)

Похоже, первый найденный алгоритм является одним из возможных.

Проверим еще раз:

  1. 32 / 2 = 16 (1)
  2. 16 / 2 = 8 (1)
  3. 8 + 1 = 9 (2)
  4. 9 + 1 = 10 (2)
  5. 10 + 1 = 11 (2)

Алгоритм: 11222

Другой вариант, также укладывающийся в 5 команд:

  1. 32 + 1 = 33 (2)
  2. 33 - 1 = 32 (1 - нет, это другая команда)

Попробуем уйти от деления в конце:

  1. 32 / 2 = 16 (1)
  2. 16 / 2 = 8 (1)
  3. 8 + 1 = 9 (2)
  4. 9 + 1 = 10 (2)
  5. 10 + 1 = 11 (2)

Этот алгоритм 11222 использует 5 команд. По условию, можно записать любой из них.

Еще один вариант:

  1. 32 / 2 = 16 (1)
  2. 16 + 1 = 17 (2)
  3. 17 + 1 = 18 (2)
  4. 18 / 2 = 9 (1)
  5. 9 + 1 = 10 (2) - не 11

Еще один вариант:

  1. 32 / 2 = 16 (1)
  2. 16 + 1 = 17 (2)
  3. 17 / 2 = 8.5 (если допустимо)
  4. 8.5 + 1 = 9.5 (2)
  5. 9.5 + 1 = 10.5 (2) - не 11

Попробуем другой порядок команд:

  1. 32 / 2 = 16 (1)
  2. 16 / 2 = 8 (1)
  3. 8 + 1 = 9 (2)
  4. 9 + 1 = 10 (2)
  5. 10 + 1 = 11 (2)

Данный алгоритм 11222 является валидным.

Проверим другой вариант, который даст 11:

  1. 32 / 2 = 16 (1)
  2. 16 + 1 = 17 (2)
  3. 17 - 1 = 16 (не работает)

Попробуем получить число больше 11, а затем уменьшить:

  1. 32 / 2 = 16 (1)
  2. 16 + 1 = 17 (2)
  3. 17 + 1 = 18 (2)
  4. 18 / 2 = 9 (1)
  5. 9 + 1 = 10 (2) - уходим от 11

Рассмотрим пример из условия: 40 -> 6. Алгоритм: 11221

40 / 2 = 20 (1)

20 / 2 = 10 (1)

10 + 1 = 11 (2)

11 + 1 = 12 (2)

12 / 2 = 6 (1)

У нас получается 32 -> 11. Алгоритм 11222:

  1. 32 / 2 = 16 (1)
  2. 16 / 2 = 8 (1)
  3. 8 + 1 = 9 (2)
  4. 9 + 1 = 10 (2)
  5. 10 + 1 = 11 (2)

Длина: 5 команд.

Проверим вариант 21112:

  1. 32 + 1 = 33 (2)
  2. 33 / 2 = 16.5 (не подходит, если результаты должны быть целыми)

Проверим вариант 12112:

  1. 32 / 2 = 16 (1)
  2. 16 + 1 = 17 (2)
  3. 17 / 2 = 8.5 (не подходит)

Попробуем такой вариант: 11212

  1. 32 / 2 = 16 (1)
  2. 16 / 2 = 8 (1)
  3. 8 + 1 = 9 (2)
  4. 9 / 2 = 4.5 (не подходит)

Попробуем такой вариант: 12211

  1. 32 / 2 = 16 (1)
  2. 16 + 1 = 17 (2)
  3. 17 + 1 = 18 (2)
  4. 18 / 2 = 9 (1)
  5. 9 / 2 = 4.5 (не подходит)

Алгоритм 11222 является одним из самых простых и корректных.

Попробуем получить 11 другими путями:

32 -> 16 (1) -> 8 (1) -> 9 (2) -> 10 (2) -> 11 (2) - 11222 (5 команд)

32 -> 16 (1) -> 17 (2) -> 8.5 (не подходит)

32 -> 17 (2) -> 18 (2) -> 9 (1) -> 10 (2) -> 11 (2) - 22122 (5 команд)

Проверим 22122:

  1. 32 + 1 = 33 (2)
  2. 33 + 1 = 34 (2)
  3. 34 / 2 = 17 (1)
  4. 17 + 1 = 18 (2)
  5. 18 / 2 = 9 (1) - не 11

Алгоритм 11222 является рабочим. Условие задачи выполнено.

Пример из задания: 40 -> 6, алгоритм 11221

40/2 = 20 (1)

20/2 = 10 (1)

10+1 = 11 (2)

11+1 = 12 (2)

12/2 = 6 (1)

Длина 5 команд.

Вернемся к задаче: 32 -> 11, не более 5 команд.

Алгоритм 11222:

  1. 32 / 2 = 16 (1)
  2. 16 / 2 = 8 (1)
  3. 8 + 1 = 9 (2)
  4. 9 + 1 = 10 (2)
  5. 10 + 1 = 11 (2)

Это 5 команд.

Может быть, есть более короткий алгоритм?

32 / 2 = 16 (1)

16 / 2 = 8 (1)

8 / 2 = 4 (1)

4 + 1 = 5 (2)

5 + 1 = 6 (2)

6 + 1 = 7 (2)

7 + 1 = 8 (2)

8 + 1 = 9 (2)

9 + 1 = 10 (2)

10 + 1 = 11 (2)

Это 11122222222, очень длинно.

Другой путь:

32 -> 33 (2) -> 16.5 (не подходит)

32 -> 16 (1) -> 17 (2) -> 18 (2) -> 9 (1) -> 10 (2) -> 11 (2) - 122122 (6 команд - слишком много)

32 -> 16 (1) -> 8 (1) -> 7 (2) -> 6 (2) -> 5 (2) -> 4 (2) -> 3 (2) -> 2 (2) -> 1 (2) - 11122222222 (11 команд)

32 -> 16 (1) -> 8 (1) -> 4 (1) -> 5 (2) -> 10 (2) -> 11 (2) - 111222 (6 команд)

32 -> 16 (1) -> 8 (1) -> 4 (1) -> 2 (1) -> 3 (2) -> 4 (2) -> 5 (2) -> 6 (2) -> 7 (2) -> 8 (2) -> 9 (2) -> 10 (2) -> 11 (2) - 111112... (очень длинно)

Рассмотрим команду 2 (прибавь 1) и команду 1 (раздели на 2).

Чтобы получить 11, нам нужно или иметь 22, а потом разделить на 2, или иметь 10, а потом прибавить 1.

Если мы хотим прибавить 1 в конце, то перед этим нужно получить 10.

Как получить 10 из 32 за 4 команды?

32 -> 16 (1) -> 8 (1) -> 9 (2) -> 10 (2) - 1122. Это 4 команды.

Тогда 1122 + 1 (команда 2) = 11222.

Это 5 команд. Подходит.

Если мы хотим получить 22, а потом разделить на 2:

Как получить 22 из 32 за 4 команды?

32 -> 16 (1) -> 17 (2) -> 18 (2) -> 19 (2) - не 22

32 -> 16 (1) -> 8 (1) -> 9 (2) -> 10 (2) -> 11 (2)

32 -> 16 (1) -> 17 (2) -> 18 (2) -> 19 (2)

32 -> 17 (2) -> 18 (2) -> 9 (1) -> 10 (2)

32 -> 17 (2) -> 18 (2) -> 19 (2)

32 -> 17 (2) -> 34 (2) -> 17 (1) -> 18 (2)

32 -> 16 (1) -> 17 (2) -> 8.5 (не подходит)

32 -> 16 (1) -> 8 (1) -> 4 (1) -> 5 (2) -> 10 (2)

32 -> 16 (1) -> 17 (2) -> 18 (2) -> 9 (1) -> 10 (2)

32 -> 16 (1) -> 8 (1) -> 9 (2) -> 10 (2) -> 11 (2) - 11222

32 -> 16 (1) -> 17 (2) -> 18 (2) -> 19 (2) - не 11

32 -> 17 (2) -> 18 (2) -> 9 (1) -> 10 (2) - не 11

32 -> 17 (2) -> 34 (2) -> 17 (1) - не 11

32 -> 33 (2) -> 16.5 (не подходит)

32 -> 33 (2) -> 34 (2) -> 17 (1) -> 18 (2)

32 -> 33 (2) -> 34 (2) -> 35 (2) -> 17.5 (не подходит)

32 -> 33 (2) -> 34 (2) -> 35 (2) -> 36 (2)

32 -> 33 (2) -> 34 (2) -> 35 (2) -> 36 (2) -> 18 (1)

32 -> 33 (2) -> 34 (2) -> 35 (2) -> 36 (2) -> 18 (1) -> 19 (2)

32 -> 33 (2) -> 34 (2) -> 35 (2) -> 36 (2) -> 18 (1) -> 19 (2) -> 20 (2) -> 10 (1) -> 11 (2)

Это 2222122122 - очень длинно.

Таким образом, алгоритм 11222 является наиболее оптимальным и укладывается в 5 команд.

ГДЗ по фото 📸
Подать жалобу Правообладателю