Задания
Версия для печати и копирования в MS Word
Тип 23 № 36036
i

Ис­пол­ни­тель Минус пре­об­ра­зу­ет число на экра­не. У ис­пол­ни­те­ля есть две ко­ман­ды, ко­то­рым при­сво­е­ны но­ме­ра:

1. Вы­честь 2.

2. Вы­честь 5.

Пер­вая ко­ман­да умень­ша­ет число на экра­не на 2, вто­рая умень­ша­ет это число на 5. Про­грам­ма для ис­пол­ни­те­ля Минус  — это по­сле­до­ва­тель­ность ко­манд. Сколь­ко су­ще­ству­ет про­грамм, ко­то­рые число 23 пре­об­ра­зу­ют в число 2?

Спрятать решение

Ре­ше­ние.

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

Верны сле­ду­ю­щие со­от­но­ше­ния.

1.  R(n)  =  R(n + 2)  — если n < 22.

2.  R(n)  =  R(n + 2) + R(n + 5)  — если n < 19.

 

R(23)  =  1;

R(22)  =  0;

R(21)  =  R(23)  =  1;

R(20)  =  R(22)  =  0;

R(19)  =  R(21)  =  1;

R(18)  =  R(20) + R(23)  =  1;

R(17)  =  R(19) + R(22)  =  1;

R(16)  =  R(18) + R(21)  =  2;

R(15)  =  R(17) + R(20)  =  1;

R(14)  =  R(16) + R(19)  =  3;

R(13)  =  R(15) + R(18)  =  2;

R(12)  =  R(14) + R(17)  =  4;

R(11)  =  R(13) + R(16)  =  4;

R(10)  =  R(12) + R(15)  =  5;

R(9)  =  R(11) + R(14)  =  7;

R(8)  =  R(10) + R(13)  =  7;

R(7)  =  R(9) + R(12)  =  11;

R(6)  =  R(8) + R(11)  =  11;

R(5)  =  R(7) + R(10)  =  16;

R(4)  =  R(6) + R(9)  =  18;

R(3)  =  R(5) + R(8)  =  23;

R(2)  =  R(4) + R(7)  =  29.

 

Таким об­ра­зом, ответ  — 29.

 

Ответ: 29.

 

При­ведём дру­гое ре­ше­ние на языке Python.

def f(x, y):

if x < y:

return 0

if x == y:

return 1

else:

return f(x - 2, y) + f(x - 5, y)

print(f(23, 2))

Источник: ЕГЭ по ин­фор­ма­ти­ке 05.04.2021. До­сроч­ная волна
Раздел кодификатора ФИПИ: