QTOGXF - Исполнитель Робот преобразует число, записанное на экране. У исполнителя есть …
логилея
№ QTOGXF (Уровень сложности: Повышенный)
Исполнитель Робот преобразует число, записанное на экране. У исполнителя есть две команды, которым присвоены номера:

А. Прибавь 1;
В. Поменять цифры в разряде единиц и десятков местами, если разряд десятков меньше разряда единиц.

Сколько есть программ, которые преобразуют число 100 в число 150?
Правильный ответ:
35
Текстовое решение:
def f(start, end):
p = str(start) # преобразуем для удобства работы к строке
if start > end: return 0
if start == end: return 1
# Проверяем, меньше ли цифра в разряде десятков, чем в разряде единиц
if p[1]<p[2]: # Если меньше, то проводим замену
return f(start+1, end) + f(int(p[0]+p[2]+p[1]), end) # меняем цифры местами и преобразуем к числу
else: # Если нет, то выполняем только команду +1
return f(start+1, end)
print(f(100, 150))

Вставка формулы (LaTeX)

Быстрые символы: \frac{}{} (дробь) x^{} x_{} \sqrt{} \pi \leq \geq \int \sum \infty