Исполнитель Робот преобразует число, записанное на экране. У исполнителя есть две команды, которым присвоены номера:
1. Прибавь 1;
2. Поменять цифры в разряде единиц и десятков местами, если разряд десятков меньше разряда единиц.
Сколько есть программ, которые преобразуют число 100 в число 144?
Приведём решение на языке Python.
def change(x):
x1 = (x % 100) // 10
x2 = x % 10
if x1 < x2:
return x//100*100 + x2 * 10 + x1
else:
return x
def f(x, y):
if x > y :
return 0
if x == y:
return 1
else:
if (x % 100) // 10 < x % 10:
return f(x + 1, y) + f(change(x), y)
else:
return f(x + 1, y)
print(f(100, 144))
Ответ: 34.

