Вопрос:

Задание 11 У исполнителя Удвоитель две команды, которым присвоены номера: 1. умножь на 2 2. прибавь з Первая из них увеличивает число на экране B 2 раза, вторая прибавляет к числу 3. Составьте алгоритм получения из числа 4 числа 47, содержащий не более 5 команд. В ответе запишите только номера команд. (Например, 12211 — это алгоритм: умножь на 2 прибавь 3 прибавь 3 умножь на 2 умножь на 2 который преобразует число 1 в 32.) Если таких алгоритмов более одного, то запишите любой из них. Ответ

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

Ответ:

Задание 11. Алгоритм для исполнителя "Удвоитель"

Исполнитель "Удвоитель" имеет две команды:

  • Команда 1: умножить на 2
  • Команда 2: прибавить 3

Нужно составить алгоритм получения из числа 4 числа 47, используя не более 5 команд.

Будем действовать методом подбора, пытаясь приблизиться к целевому числу 47. Часто бывает эффективнее начинать с конца, применяя обратные операции, но в данном случае команды необратимы (деление на 2 и вычитание 3 не всегда дают целое число), поэтому будем работать напрямую.

Поиск алгоритма:

  1. Начнем с числа 4.
  2. Применим команду 1 (умножить на 2): 4 * 2 = 8.
  3. Применим команду 1 (умножить на 2): 8 * 2 = 16.
  4. Применим команду 1 (умножить на 2): 16 * 2 = 32.
  5. Теперь нам нужно получить 47 из 32, добавив 3 несколько раз. Нам осталось 47 - 32 = 15.
  6. Чтобы получить 15, прибавляя по 3, нам нужно 15 / 3 = 5 команд "прибавить 3".
  7. Однако, мы использовали 3 команды "умножить на 2" и можем использовать только 2 команды "прибавить 3" (чтобы общее число команд было не более 5).

Попробуем другую комбинацию:

  1. Начнем с числа 4.
  2. Применим команду 1 (умножить на 2): 4 * 2 = 8.
  3. Применим команду 2 (прибавить 3): 8 + 3 = 11.
  4. Применим команду 1 (умножить на 2): 11 * 2 = 22.
  5. Применим команду 2 (прибавить 3): 22 + 3 = 25.
  6. Применим команду 2 (прибавить 3): 25 + 3 = 28. (Всего 5 команд, но получили 28, а нужно 47).

Попробуем другой подход:

  1. Начнем с числа 4.
  2. Применим команду 2 (прибавить 3): 4 + 3 = 7.
  3. Применим команду 1 (умножить на 2): 7 * 2 = 14.
  4. Применим команду 1 (умножить на 2): 14 * 2 = 28.
  5. Применим команду 1 (умножить на 2): 28 * 2 = 56. (Уже больше 47).

Давайте попробуем еще раз, с акцентом на умножение в конце:

  1. Начнем с числа 4.
  2. Применим команду 1: 4 * 2 = 8.
  3. Применим команду 1: 8 * 2 = 16.
  4. Применим команду 2: 16 + 3 = 19.
  5. Применим команду 2: 19 + 3 = 22. (5 команд, получили 22).

Нам нужно получить 47. Число 47 нечетное, значит, последней командой не может быть "умножить на 2" (если только предыдущее число не было дробным, что не допускается). Значит, последней командой, скорее всего, будет "прибавить 3".

Если последняя команда - "прибавить 3", то перед этим число должно было быть 47 - 3 = 44.

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

  • 4 -> (команда 1) 8 -> (команда 1) 16 -> (команда 2) 19 -> (команда 2) 22. Не подходит.
  • 4 -> (команда 1) 8 -> (команда 2) 11 -> (команда 1) 22 -> (команда 2) 25. Не подходит.
  • 4 -> (команда 2) 7 -> (команда 1) 14 -> (команда 1) 28 -> (команда 2) 31. Не подходит.
  • 4 -> (команда 1) 8 -> (команда 2) 11 -> (команда 2) 14 -> (команда 1) 28. Не подходит.

Давайте попробуем, чтобы последней командой было "умножить на 2". Тогда предыдущее число было бы 47 / 2, что не является целым. Значит, последняя команда не "умножить на 2".

Попробуем получить число, близкое к 47, и затем добить его командами:

Алгоритм:

  1. 1 (умножить на 2): 4 * 2 = 8
  2. 1 (умножить на 2): 8 * 2 = 16
  3. 1 (умножить на 2): 16 * 2 = 32
  4. 2 (прибавить 3): 32 + 3 = 35
  5. 2 (прибавить 3): 35 + 3 = 38 (5 команд, получили 38)

Это не 47. Давайте искать другой путь.

Попробуем так:

  1. 1 (умножить на 2): 4 * 2 = 8
  2. 2 (прибавить 3): 8 + 3 = 11
  3. 1 (умножить на 2): 11 * 2 = 22
  4. 2 (прибавить 3): 22 + 3 = 25
  5. 2 (прибавить 3): 25 + 3 = 28 (5 команд, получили 28)

А вот и подходящий алгоритм:

  1. 1 (умножить на 2): 4 * 2 = 8
  2. 2 (прибавить 3): 8 + 3 = 11
  3. 2 (прибавить 3): 11 + 3 = 14
  4. 1 (умножить на 2): 14 * 2 = 28
  5. 2 (прибавить 3): 28 + 3 = 31 (5 команд, получили 31)

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

  1. 1 (умножить на 2): 4 * 2 = 8
  2. 2 (прибавить 3): 8 + 3 = 11
  3. 2 (прибавить 3): 11 + 3 = 14
  4. 2 (прибавить 3): 14 + 3 = 17
  5. 1 (умножить на 2): 17 * 2 = 34 (5 команд, получили 34)

Попробуем получить 44, чтобы последней командой прибавить 3:

  1. 1: 4 * 2 = 8
  2. 1: 8 * 2 = 16
  3. 2: 16 + 3 = 19
  4. 1: 19 * 2 = 38
  5. 2: 38 + 3 = 41 (5 команд, получили 41)

Попробуем получить 44:

  1. 1: 4 * 2 = 8
  2. 2: 8 + 3 = 11
  3. 2: 11 + 3 = 14
  4. 2: 14 + 3 = 17
  5. 1: 17 * 2 = 34 (5 команд, получили 34)

Рассмотрим другой путь:

  1. 1 (умножить на 2): 4 * 2 = 8
  2. 1 (умножить на 2): 8 * 2 = 16
  3. 2 (прибавить 3): 16 + 3 = 19
  4. 1 (умножить на 2): 19 * 2 = 38
  5. 2 (прибавить 3): 38 + 3 = 41 (5 команд, получили 41)

Давайте попробуем получить 44, чтобы последней командой прибавить 3.

4 -> 8 (1) -> 16 (1) -> 19 (2) -> 38 (1). Мы использовали 4 команды и получили 38. Нам нужно 44. Если мы прибавим 3, получим 41. Если еще раз прибавим 3, получим 44. Но это будет 6 команд.

Рассмотрим алгоритм, который приводит к 47:

  1. 1 (умножить на 2): 4 * 2 = 8
  2. 2 (прибавить 3): 8 + 3 = 11
  3. 1 (умножить на 2): 11 * 2 = 22
  4. 1 (умножить на 2): 22 * 2 = 44
  5. 2 (прибавить 3): 44 + 3 = 47

Этот алгоритм состоит из 5 команд.

Ответ: 11212

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

Похожие