Задание 23(Повышенный уровень). Умение анализировать результат исполнения алгоритма, содержащего ветвление и цикл

3 типа задач:

Простые (между исходным числом и результатом разрыв небольшой)

Усложненные (с значительным разрывом)

Сложные (с большим разрывом)

Тип 1. Простые (между исходным числом и результатом разрыв небольшой)

У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
3. Прибавить 5
Сколько существует программ, которые преобразуют исходное число 1 в число 16, и при этом траектория вычислений содержит число 8 и не содержит числа 10?

Решение табличным способом:

Тип 2. Усложненные (с значительным разрывом)

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

Решение комбинированного типа:

Так как разрыв чисел достаточно значительный, то решение с помощью таблицы или построения дерева будет слишком объемным, поэтому можно использовать сразу два способа, разбив промежуток на два обязательным числом – 15.

Разбиваем на два этапа:

Первый отрезок считаем с помощью таблицы:

А для второго построим дерево:

Тип 3. Сложные (с большим разрывом или другие постановки) решаются с помощью программы

У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 1
2. Прибавить 2
3. Умножить на 3
Сколько существует программ, которые преобразуют исходное число 1 в число 30, и при этом траектория вычислений содержит число 9 и не содержит чисел 11 и 12?

Решение программным способом: