ЕГЭ 2019 по информатике задание 22

ЕГЭ 2019 по информатике задание 22 ЕГЭ

ЕГЭ 2019 по информатике задание 22

Тема: «Динамическое программирование»

Исполнитель Вычислитель преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 2
2. Умножить на 2
3. Прибавить 3
Первая из них увеличивает число на экране на 2, вторая умножает его на 2, третья увеличивает его на 3. Программа для Вычислителя – это последовательность команд.
Сколько существует таких программ, которые преобразуют исходное число 2 в число 22 и при этом траектория вычислений программы содержит число 11?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 123 при исходном числе 7 траектория будет состоять из чисел 9, 18, 21.

Данный пример взят из демоверсии 2019 по информатике на сайте http://fipi.ru

РЕШЕНИЕ

Данная задача относится к динамическому программированию.

Динамическое программирование — способ решения сложных задач путём разбиения их на более простые подзадачи.
Ключевая идея в динамическом программировании достаточно проста. Как правило, чтобы решить поставленную задачу, требуется решить отдельные части задачи (подзадачи), после чего объединить решения подзадач в одно общее решение

Для начала рассмотрим пример проще:

Исполнитель Вычислитель преобразует число, записанное на экране. У исполнителя есть две команды, которым присвоены номера:

1. Прибавить 1
2. Умножить на 2

Сколько существует таких программ, которые преобразуют исходное число 2 в число 9 ?

Для решения построим таблицу:

Исполнитель Вычислитель преобразует число, записанное на экране

 

Из таблицы видео, чтобы получить, например, число 5, необходимо выполнить одну команду +1, т.е 4+1 =5. При этом для самого числа 4 было найдено 2 программы. Разберём ещё один пример числа 8:

ЕГЭ информатика динамическое программирование

 

Таким образом в данном примере ответом будет 5 программ.

В задаче № 22 ЕГЭ 2019 по информатике написано дополнительное условие: траектория вычислений программы содержит число 11. Это означает, что число 11 должно обязательно войти в траекторию.

Построим таблицу сначала до числа 11, а затем до 22:

ЕГЭ 2019 по информатике задание 22 исполнитель вычислитель преобразует число

 

 

 

ЕГЭ 2019 по информатике задание 22 траектория вычислений программы содержит число 11

Проанализируем количество команд для числа 12:

ЕГЭ 2019 по информатике задание 22 число 12

 

Проанализируем количество команд для числа 13:

ЕГЭ по информатике задание 22 число 13

Проанализируем количество команд для числа 14:

ЕГЭ 2019 по информатике задание 22 число 14

 

По аналогии анализируем оставшееся числа. В последнем числе 22 будет найдено 100 программ.

Ответ: 100

[newsletter_signup_form id=1]

Самостоятельная работа

Исполнитель Вычислитель преобразует число, записанное на экране.

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

  1. Умножить на 3
  2. Прибавить 2
  3. Прибавить 3

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

Программа для Вычислителя – это последовательность команд.

Сколько существует таких программ, которые преобразуют исходное число 2 в число 21 и при этом траектория вычислений программы содержит число 15?

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 123 при исходном числе 7 траектория будет состоять из чисел 21, 23, 26.

 

Ответ напишите в комментариях этого поста

Данная задача была взята с открытого банка заданий ОГЭ по информатике.

 

 

Оцените статью
Добавить комментарий

Введите правильный ответ: * Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.