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

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

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

A.  При­бавь 1

B.  Умножь на 2

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

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

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

Ре­ше­ние.

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

def f(x, y):

if x > y or str(x).count('2')!=0:

return 0

if x == y:

return 1

else:

return f(x + 1, y) + f(x * 2, y)

print(f(3, 36))

Ответ: 13.