СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
≡ информатика
сайты - меню - вход - новости




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

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

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

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

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

Первая команда увеличивает число на экране на 1, вторая — на 3.

Программа для исполнителя Увеличитель — это последовательность команд.

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

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 112 при исходном числе 5 траектория будет состоять из чисел 6, 7, 10.

Решение.

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

Тогда справедлива следующая формула: R(n) = R(n - 1) + R(n - 3).

С её помощью последовательно вычислим значения R(n):

 

R(1) = 1

R(2) = R(1) + R(-1) = 1 + 0 = 1

R(3) = R(2) + R(0) = 1 + 0 = 1

R(4) = R(3) + R(1) = 1 + 1 = 2

R(5) = R(4) + R(2) = 2 + 1 = 3

R(6) = R(5) + R(3) = 3 + 1 = 4

R(7) = R(6) + R(4) = 4 + 2 = 6

R(8) = R(7) + R(5) = 6 + 3 = 9

R(9) = R(8) + R(6) = 9 + 4 = 13

R(10) = R(9) + R(7) = 13 + 6 = 19

 

Так как в траектории должно присутствовать число 10, то для всех следующих R(n) нельзя использовать при пересчёте R(m) такие, что m < 10.

 

R(11) = R(10) = 19

 

Число 12 наоборот, не должно встречаться в траектории, поэтому не будем считать R(12), а все следующие R(n) будем пересчитывать без R(12).

 

R(13) = R(10) = 19

R(14) = R(13) + R(11) = 19 + 19 = 38

R(15) = R(14) = 38