22. Перебор вариантов, динамическое программирование
Демонстрационный вариант Единый государственный экзамен ЕГЭ 2017 г. – задание №22. Сколько существует таких программ, которые исходное число 3 преобразуют в число 12 и при этом траектория вычислений программы содержит число 10?
Исполнитель А16 преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 1
2. Прибавить 2
3. Умножить на 2
Первая из них увеличивает число на экране на 1, вторая увеличивает его на 2,третья умножает его на 2.
Программа для исполнителя А16 – это последовательность команд.
Сколько существует таких программ, которые исходное число 3 преобразуют в число 12 и при этом траектория вычислений программы содержит число 10?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 132 при исходном числе 7 траектория будет состоять из чисел 8, 16, 18.
Решение:
1. Прибавить 1
2. Прибавить 2
3. Умножить на 2
Разобъём задачу на 2 этапа: получить из 3 – 10 и получить из 10 – 12
1) Из 3 – 10
4 из 3 можем получить только 1 способом: 3+1=4 (1 способ)
5 из 3 можем получить 2 способами: 4+1 (1) и 3+2 (1) (2 способа)
6 из 3 можем получить 4 способами: 5+1 (2); 4+2 (1) и 3*2 (1) (4 способа)
7 из 3 можем получить 6 способами: 6+1 (4); 5+2 (2) (6 способов)
8 из 3 можем получить 11 способами: 7+1 (6); 6+2 (4) и 4*2 (1) (11 способов)
9 из 3 можем получить 17 способами: 8+1 (11); 7+2 (6) (17 способов)
10 из 3 можем получить 30 способами: 9+1 (17); 8+2 (11) и 5*2 (2) (30 способов)
2) Из 10 – 12
12 из 10 можно получить 2 способами:
- Сразу 12 из 10: 10+2
- Сначала получаем 11: 10+1, потом 12 из 11: 11+1
10 из 3 можем получить 30 способами, 12 из 10 можно получить 2 способами:
2*30=60
3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
1 | 1 | ||||||||
1 | 1 | 2 | |||||||
1 | 1 | 2 | 4 | ||||||
2 | 4 | 6 | |||||||
1 | 4 | 6 | 11 | ||||||
6 | 11 | 17 | |||||||
2 | 11 | 17 | 30 | ||||||
30 | 30 | ||||||||
30 | 30 | 60 |
Ответ: 60
Демонстрационный вариант Единый государственный экзамен ЕГЭ 2016 г. – задание №22
Исполнитель Май15 преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя Май15 – это последовательность команд. Сколько существует программ, для которых при исходном числе 2 результатом является число 29 и при этом траектория вычислений содержит число 14 и не содержит числа 25?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.
Решение:
Разобъём задачу на 2 этапа: получить из 2 – 14 и получить из 14 – 29
1) Из 2 – 14
3 из 2 можем получить только 1 способом: 2+1=3 (1 способ)
4 из 2 можем получить 2 способами: 3+1 (1) и 2*2 (1) (2 способа)
5 из 2 можем получить 2 способами: 4+1 (2) (2 способа)
6 из 2 можем получить 3 способами: 5+1 (2) и 3*2 (1) (3 способа)
7 из 2 можем получить 3 способами: 6+1 (3) (3 способа)
8 из 2 можем получить 5 способами: 7+1 (3) и 4*2 (2) (5 способов)
9 из 2 можем получить 5 способами: 8+1 (5) (5 способов)
10 из 2 можем получить 7 способами: 9+1 (5) и 5*2 (2) (7 способов)
11 из 2 можем получить 5 способами: 10+1 (7) (7 способов)
12 из 2 можем получить 10 способами: 11+1 (7) и 6*2 (3) (10 способов)
13 из 2 можем получить 10 способами: 12+1 (10) (10 способов)
14 из 2 можем получить 13 способами: 12+1 (10) и 7*2 (3) (13 способов)
2) Из 14 – 29
Траектория вычислений не содержит числа 25, значит, 29 из 14 мы не можем получить, используя только команду №1 ( Прибавить 1).
Поэтому для получения 29 из 14, мы 14 умножаем на 2 и прибавляем 1:
14*2=28 (1 способ)
28+1=19(1 способ)
14 из 2 можем получить 13 способами, 29 из 14 можно получить 1 способом:
13*1=13
Ответ:13
У исполнителя Калькулятор две команды, которым присвоены номера:
- прибавь 1
- умножь на 2
Сколько есть программ, которые число 1 преобразуют в число 16?
Решение:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
1 | 2 | 2 | 4 | 4 | 6 | 6 | 10 | 10 | 14 | 14 | 20 | 20 | 26 | 26 | 36 |
Ответ: 36
У исполнителя Калькулятор две команды, которым присвоены номера:
- прибавь 1
- увеличь каждый разряд числа на 1
Например, число 23 с помощью команды 2 превратится в 34, а 29 в 39 (так как младший разряд нельзя увеличить). Если перед выполнением команды 2 какая-либо цифра равна 9, она не изменяется. Сколько есть программ, которые число 25 преобразуют в число 51?
Решение:
25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 3 | 4 | 4+1+1=6 | 6 |
41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
7 | 8 | 9 | 10 | 11 | 12 | 14 | 17 | 17+4+6=27 | 27 | 27+6=33 |
Ответ: 33
Исполнитель А12S преобразует целое число, записанное на экране. У исполнителя три команды, каждой команде присвоен номер:
- Прибавь 1
- Прибавь 2
- Прибавь предыдущее
Первая команда увеличивает число на экране на 1, вторая увеличивает это число на 2, третья прибавляет к числу на экране число, меньшее на 1 (к числу 3 прибавляется 2, к числу 11 прибавляется 10 и т. д.). Программа для исполнителя А12S – это последовательность команд.
Сколько существует программ, которые число 3 преобразуют в число 10?
Решение:
3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
1 | 1 | 3 | 4 | 8 | 12 | 23 | 35 |
1+1+1 | 3+1 | 4+3+1 | 8+4 | 12+8+3 | 23+12 |
Ответ: 35
Исполнитель Июнь15 преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
- Прибавить 1
- Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя Июнь15 – это последовательность команд. Сколько существует программ, для которых при исходном числе 2 результатом является число 34 и при этом траектория вычислений содержит число 12?
Решение:
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
1 | 1 | 2 | 2 | 3 | 3 | 5 | 5 | 7 | 7 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
10 | 10 | 10 | 20 | 20 | 30 | 30 | 40 | 40 | 50 | 50 | 60 | 60 | 70 |
Ответ: 70
Исполнитель Июнь15 преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
- Прибавить 1
- Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя Июнь15 – это последовательность команд. Сколько существует программ, для которых при исходном числе 2 результатом является число 40 и при этом траектория вычислений содержит число 20 и не содержит число 8?
Решение:
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
1 | 1 | 2 | 2 | 3 | 3 | 2 | 2 | 5 | 5 | 8 | 8 | 8 | 8 | 8 | 8 | 10 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 20 |
Ответ: 20
Исполнитель Июнь16 преобразует число на экране. У исполнителя есть три команды, которым присвоены номера:
- Прибавить 1
- Прибавить 2
- Умножить на 2
Сколько существует программ, для которых при исходном числе 3 результатом является число 13 и при этом траектория вычислений содержит число 10?
Решение:
3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
1 | 1 | 2 | 4 | 6 | 11 | 17 | 30 | 30 | 60 | 90 |
1+1 | 1+1+2 | 2+4 | 1+4+6 | 6+11 | 2+11+17 | 30+30 | 30+60 |
Ответ: 90