≡ информатика
сайты - меню - вход - новости




Задания
Версия для печати и копирования в MS Word
Задание 22 № 17340

Исполнитель РазДваПять преобразует число на экране.

У исполнителя есть две команды, которым присвоены номера:

1. Прибавить 1

2. Умножить на 2

3. Прибавить 5

Первая команда увеличивает число на экране на 1, вторая умножает его на 2, третья увеличивает на 5.

Программа для исполнителя РазДваТри — это последовательность команд.

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

Траектория вычислений – это последовательность результатов выполнения всех команд программы. Например, для программы 312 при исходном числе 4 траектория будет состоять из чисел 20, 21, 42.

Пояснение.

Искомое количество программ равно количеству программ, получающих из числа 1 число 16. Траектория вычислений не должна содержать числа 10 и должна содержать число 8.

Пусть R(n) — количество программ, которые число 1 преобразуют в число n.

Верно следующее соотношение:

R(n) = R(n−1) + R(n/2)(если n — чётно) + R(n-5).

 

R(2) = 2

R(3) = 2

R(4) = 4

R(5) = 4

R(6) = 7

R(7) = 9

R(8) = 15

R(9) = 15

R(10) = 0

R(11) = 0

R(12) = 0

R(13) = 15

R(14) = 30

R(15) = 30

R(16) = 45

 

Таким образом, количество программ, удовлетворяющих условию задачи равно 45.

 

Ответ: 45.