Увеличь две младшие цифры на 1
Первая из них увеличивает число на экране на 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 включительно количество программ равно 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
Увеличь число десятков на 1
Например: при помощи команды 2 число 23 преобразуется в 33. Если перед выполнением команды 2 вторая с конца цифра равна 9, она не изменяется.
Сколько есть программ, которые число 11 преобразуют в число 27?
20) У исполнителя Калькулятор две команды, которым присвоены номера:
Прибавь 1
Увеличь число десятков на 1
Например: при помощи команды 2 число 23 преобразуется в 33. Если перед выполнением команды 2 вторая с конца цифра равна 9, она не изменяется.
Сколько есть программ, которые число 12 преобразуют в число 36?
21) У исполнителя Калькулятор две команды, которым присвоены номера:
Прибавь 1