Первая из них увеличивает число на экране на 1, вторая – увеличивает на 1 число десятков и число единиц. Если перед выполнением команды 2 какая-либо из двух младших цифр равна 9, она не изменяется. Программа для Калькулятора – это последовательность команд.
Сколько есть программ, которые число 23 преобразуют в число 48?
Решение (1 способ, составление таблицы):
1) заметим, что при выполнении любой из команд число увеличивается (не может уменьшаться)
2) при заданных командах очередное число N может быть получено двумя способами:
3) увеличением на 1 (для всех чисел, больших начального числа)
4) увеличением обеих цифр на 1 в результате выполнения команды 2 (то есть, фактически командой «+11») – для всех чисел, больших или равных 23 + 11 = 34, которые НЕ оканчиваются на 0;
5) увеличением только младшей цифры на 1 в результате выполнения команды 2 (то есть, фактически командой «+1») – для всех чисел от 91 до 99, но в нашем диапазоне (23..48) таких нет
6) увеличением только старшей цифры на 1 в результате выполнения команды 2 (то есть, фактически командой «+10») – для всех чисел, больших 34 и имеющих 9 на конце; в нашем случае под этот вариант подходит только число 39
7) таким образом, рекуррентные формулы принимают вид
для всех чисел, меньших, чем 34, а также для всех чисел, оканчивающихся на 0
для чисел, больших или равных 34, кроме 39
для числа 39
8) других способов получения числа с помощью исполнителя с заданными командами нет, то есть мы таким образом рассматриваем все возможные программы
9) начальное значение: (число 23 можно получить единственной пустой программой)
10) далее заполняем таблицу:
23 | … | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | |
1 | … | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 8 | 9 | 10 | 11 | 12 | 14 | 17 | 21 | 26 |
здесь многоточия означают, что для всех чисел от 23 до 33 включительно количество программ равно 1;
11) например, для числа 47 количество программ вычисляется как
= 17 + 4 = 21
а для числа 39 –как
= 6 + 1 + 1 = 8
12) Ответ: 26
Задачи для тренировки [1]:
1) У исполнителя Калькулятор две команды, которым присвоены номера:
Прибавь 1
Умножь на 2
Сколько есть программ, которые число 1 преобразуют в число 16?
2) У исполнителя Калькулятор две команды, которым присвоены номера:
Прибавь 1
Умножь на 4
Сколько есть программ, которые число 1 преобразуют в число 55?
3) У исполнителя Калькулятор три команды, которым присвоены номера:
Прибавь 1
Умножь на 2
Умножь на 3
Сколько есть программ, которые число 1 преобразуют в число 18?
4) У исполнителя Калькулятор три команды, которым присвоены номера:
Прибавь 1
Умножь на 2
Умножь на 4
Сколько есть программ, которые число 1 преобразуют в число 17?
5) У исполнителя Калькулятор три команды, которым присвоены номера:
Прибавь 1
Умножь на 3
Умножь на 4
Сколько есть программ, которые число 1 преобразуют в число 25?
6) У исполнителя Калькулятор три команды, которым присвоены номера:
Прибавь 1
Прибавь 2
Умножь на 3
Сколько есть программ, которые число 1 преобразуют в число 12?
7) У исполнителя Калькулятор три команды, которым присвоены номера:
Прибавь 1
Прибавь 3
Умножь на 2
Сколько есть программ, которые число 1 преобразуют в число 15?
8) У исполнителя Калькулятор три команды, которым присвоены номера:
Прибавь 1
Прибавь 3
Умножь на 3
Сколько есть программ, которые число 1 преобразуют в число 15?
9) У исполнителя Калькулятор три команды, которым присвоены номера:
Прибавь 1
Прибавь 3
Умножь на 4
Сколько есть программ, которые число 1 преобразуют в число 18?
10) У исполнителя Калькулятор три команды, которым присвоены номера:
Прибавь 1
Прибавь 2
Умножь на 4
Сколько есть программ, которые число 1 преобразуют в число 13?
11) У исполнителя Калькулятор две команды, которым присвоены номера:
Прибавь 1
Умножь на 4
Сколько есть программ, которые число 1 преобразуют в число 32?
12) (С.Э. Назаренко) У исполнителя Калькулятор две команды, которым присвоены номера:
Прибавь 2
Умножь на 2
Сколько есть программ, которые число 1 преобразуют в число 24?
13) (С.Э. Назаренко) У исполнителя Калькулятор две команды, которым присвоены номера:
Прибавь 1
Умножь на 3
Сколько есть программ, которые число 5 преобразуют в число 49?
14) (С.Э. Назаренко) У исполнителя Калькулятор две команды, которым присвоены номера:
Прибавь 3
Умножь на 3
Сколько есть программ, которые число 5 преобразуют в число 27?
15) (С.Э. Назаренко) У исполнителя Калькулятор три команды, которым присвоены номера:
Прибавь 1
Прибавь 3
Умножь на 2
Сколько есть программ, которые число 3 преобразуют в число 15?
16) (Т.В. Белова) У исполнителя Калькулятор три команды, которым присвоены номера:
Прибавь 1
Умножь на 2
Возведи в квадрат
Сколько есть программ, которые число 2 преобразуют в число 38?
17) (Т.В. Белова) У исполнителя Калькулятор три команды, которым присвоены номера:
Прибавь 1
Прибавь 3
Возведи в квадрат
Сколько есть программ, которые число 2 преобразуют в число 19?
18) (Т.В. Белова) У исполнителя Калькулятор три команды, которым присвоены номера:
Прибавь 1
Умножь на 2
Возведи в квадрат
Сколько есть программ, которые число 2 преобразуют в число 27?
19) У исполнителя Калькулятор две команды, которым присвоены номера:
Прибавь 1