Исполнитель Калькулятор

Содержание

Слайд 2

Назначение

динамическое программирование – это способ решения сложных задач путем сведения их к

Назначение динамическое программирование – это способ решения сложных задач путем сведения их
более простым задачам того же типа
с помощью динамического программирования решаются задачи, которые требуют полного перебора вариантов:
«подсчитайте количество вариантов…»
«как оптимально распределить…»
«найдите оптимальный маршрут…»

Слайд 3

Задача

У исполнителя Калькулятор две команды, которым присвоены номера:
1. прибавь 2
2. умножь на

Задача У исполнителя Калькулятор две команды, которым присвоены номера: 1. прибавь 2
3
Сколько есть программ, которые число 1 преобразуют в число 25?

Слайд 4

Решение (1 способ, составление графа)

Решение (1 способ, составление графа)

Слайд 5

Решение

Ответ: 8

1. прибавь 2
2. умножь на 3

3=1+2; 3=1*3
Всего 2 пути

5=3+2; а

Решение Ответ: 8 1. прибавь 2 2. умножь на 3 3=1+2; 3=1*3
в 3
Всего 2 пути

7=5+2; а в 5
Всего 2 пути

9=7+2; 9=3*3
В 7 два пути + в 3 два пути =4

11=9+2; а в 9
Всего 4 пути

13=11+2; а в 11
Всего 4 пути

15=13+2; 15=5*3
В 13 – 4 пути, в 5 - 2 пути= 6

19=17+2; а в 17 – 6 путей

17=15+2; а в 15 – 6 путей

21=19+2; 21=7*3,
В 19 – 6 путей+ в 7 – 2 пути = 8

23=21+2; а в 21 – 8 путей

25=23+2; а в 23 – 8 путей

Слайд 6

Задание 1:

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

Задание 1: Исполнитель Май4 преобразует число, записанное на экране. У исполнителя три
присвоены номера:
1. прибавь 1
2. прибавь 2
3. прибавь 4
Первая из них увеличивает число на экране на 1, вторая увеличивает это число на 2, а третья – на 4. Программа для исполнителя Май4 – это последовательность команд. Сколько есть программ, которые число 21 преобразуют в число 30?

Слайд 7

Решение (2 способ, составление таблицы)

заметим, что при выполнении любой из команд

Решение (2 способ, составление таблицы) заметим, что при выполнении любой из команд
число увеличивается (не может уменьшаться)
все числа, меньшие начального числа 21, с помощью этого исполнителя получить нельзя, для них количество программ будет равно 0
для начального числа 21 количество программ равно 1: существует только одна пустая программа, не содержащая ни одной команды;
теперь рассмотрим общий случай решения
любое число N > 21 могло быть получено одной из трёх операций сложения соответственно из чисел N-1, N-2 и N-4, поэтому

Слайд 8

Решение

1. прибавь 1
2. прибавь 2
3. прибавь 4

Ответ: 96

Решение 1. прибавь 1 2. прибавь 2 3. прибавь 4 Ответ: 96

Слайд 9

Задание 2

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

Задание 2 У исполнителя Утроитель две команды, которым присвоены номера: 1. прибавь
на 3
Первая из них увеличивает число на экране на 1, вторая – утраивает его.
Программа для Утроителя – это последовательность команд.
Сколько есть программ, которые число 1 преобразуют в число 20?

Слайд 10

Решение

Заметим, что количество вариантов меняется только в тех столбцах, где N делится

Решение Заметим, что количество вариантов меняется только в тех столбцах, где N
на 3, поэтому из всей таблицы можно оставить только эти столбцы:

заданное число 20 попадает в последний интервал (от 18 до 21), поэтому …
ответ – 12.

Слайд 11

Задание 3

У исполнителя Калькулятор две команды, которым присвоены номера:
1. прибавь 1
2. увеличь

Задание 3 У исполнителя Калькулятор две команды, которым присвоены номера: 1. прибавь
вторую с конца цифру на 1
Первая из них увеличивает число на экране на 1, вторая – увеличивает на 1 число десятков. Если перед выполнением команды 2 вторая с конца цифра равна 9, она не изменяется. Программа для Калькулятора – это последовательность команд.
Сколько есть программ, которые число 15 преобразуют в число 28?

Слайд 12

Решение

увеличение числа десятков на 1 (то есть, фактически командой «+10») –

Решение увеличение числа десятков на 1 (то есть, фактически командой «+10») –
для всех чисел, больших или равных 25; например, число 24 не может быть получено этой командой (14 + 10 = 24), потому что число 14 меньше, чем начальное значение 15

Ответ: 5