Вопрос:

Исполнитель преобразует число на экране. У исполнителя есть две команды: 1) «Прибавить 1»; 2) «Поменять местами». Первая из этих команд увеличивает число на экране на 1. Вторая команда может применяться только к числу, у которого цифра разряда десятков по значению меньше цифры, стоящей в разряде единиц, и действует, заменяя число на экране числом, в котором цифры двух младших разрядов поменяли местами. Программа для исполнителя — это последовательность команд. Сколько существует программ, для которых при исходном числе 100 результатом является число 145?

Ответ:

Из числа 100 необходимо получить 145, то есть увеличить число на 45. Команда «Поменять местами» может менять только две последние цифры, причём цифра десятков должна быть меньше цифры единиц.

До первой перестановки число имеет вид 10k, где последняя цифра равна 0. Условие перестановки выполняется, когда цифра десятков меньше 0, что невозможно. Поэтому сначала нужно выполнить несколько команд «Прибавить 1», пока число не закончится цифрой, большей цифры десятков.

Перестановка двух последних цифр изменяет число на величину, кратную 9. Поэтому число прибавлений в программе должно удовлетворять условию: \(45-9m\), где \(m\) — количество перестановок.

Для получения числа 145 возможны два варианта:

  1. Без перестановок: 45 команд «Прибавить 1». Это одна программа.
  2. С одной перестановкой: после \(9\) прибавлений получаем 109, перестановка невозможна; после \(18\) прибавлений получаем 118, перестановка даёт 181, после чего нужно прибавить ещё \( -36\), что невозможно. Аналогично, перестановка увеличивает число, и вернуться к 145 последующими прибавлениями можно только при перестановке числа 127: \(127\to172\), что превышает 145.

Следовательно, единственная программа состоит из 45 команд «Прибавить 1».

Ответ: 1.

Подать жалобу Правообладателю