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

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

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

A.  Вычти 2

B.  Если число крат­но 3, Раз­де­ли на 3, Иначе Вычти 4

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

Тра­ек­то­рия вы­чис­ле­ний про­грам­мы  — это по­сле­до­ва­тель­ность ре­зуль­та­тов вы­пол­не­ния всех ко­манд про­грам­мы. На­при­мер, для про­грам­мы BAB при ис­ход­ном числе 99 тра­ек­то­рия будет со­сто­ять из чисел 33, 31, 27.

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

Ре­ше­ние.

Это за­да­ние ещё не ре­ше­но, при­во­дим ре­ше­ние про­то­ти­па.


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

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

A.  Вычти 2

B.  Если число крат­но 3, Раз­де­ли на 3, Иначе Вычти 4

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

Тра­ек­то­рия вы­чис­ле­ний про­грам­мы  — это по­сле­до­ва­тель­ность ре­зуль­та­тов вы­пол­не­ния всех ко­манд про­грам­мы. На­при­мер, для про­грам­мы BAB при ис­ход­ном числе 99 тра­ек­то­рия будет со­сто­ять из чисел 33, 31, 27.

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

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

def f(x, y):

if x < y or x == 16:

return 0

if x == y:

return 1

else:

if x%3==0:

return f(x - 2, y) + f(x // 3, y)

else:

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

print(f(36, 4))

 

 

Ответ: 40.


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

Источник: Стат­Град: Тре­ни­ро­воч­ная ра­бо­та 28.01.2025 ИН2410302