№ 5640 (Уровень: Средний)

Разбор 23.PNG

(М. Ишимов) Исполнитель преобразует число на экране.

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

A.  Вычти 4

B.  Вычти сумму цифр числа

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

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

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы ABA при исходном числе 33 траектория будет состоять из чисел 29, 18, 14.

Вариант решения №1

Вариант решения №1

Комментарии к первому решению:

  1. def MySum(x): - объявление функции с именем MySum, которая принимает один аргумент x.
  2. summ = sum([int(i) for i in str(x)]) - вычисление суммы цифр числа x. Каждая цифра из числа x преобразуется в целое число и добавляется в список, затем сумма всех элементов списка присваивается переменной summ.
  3. return summ - возвращение значения переменной summ из функции MySum.
  4. def F(a, b): - объявление функции с именем F, которая принимает два аргумента a и b.
  5. if a < b: - проверка, если значение a меньше значения b.
  6. return 0 - возвращение значения 0, если условие в строке 5 выполняется.