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

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

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

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

B.  При­ба­вить 3.

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

Про­грам­ма для ис­пол­ни­те­ля  — это по­сле­до­ва­тель­ность ко­манд. На­при­мер, про­грам­ма BAC при ис­ход­ном числе 2 по­сле­до­ва­тель­но по­лу­чит числа 5, 4, 8.

Сколь­ко су­ще­ству­ет про­грамм, ко­то­рые пре­об­ра­зу­ют ис­ход­ное число 4 в число 14 и при этом не со­дер­жат двух ко­манд A под­ряд?

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

Ре­ше­ние.

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

def f(start, end, k):

if start > end + 1:

return 0

if start == end:

return 1

else:

if k == 1:

return f(start + 3, end, k - 1) + f(start * 2, end, k - 1)

else:

return f(start - 1, end, k + 1) + f(start + 3, end, k) + f(start * 2, end, k)

print(f(4, 14, 0))

 

Ответ: 46.


Аналоги к заданию № 64908: 64953 Все