Задача
Ниже на четырёх языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 4, а потом 5.
Решение
Проведем анализ программы (Python).
Изначально переменная x вводится с клавиатуры, переменная Q=9, а L=0.
x = int(input())
Q = 9
L = 0
По условию программа сначала вывела 4, а потом 5. В программе вывод организован следующим образом:
print(M)
Таким образом, L=4, а M=5.
В программе присудствует цикл, который изменяет значения переменных x и L:
while x >= Q:
L = L + 1
x = x - Q
Очевидно, что L это счетчик количества выполненных циклов, а x результат разности x и Q, таким образом Q вычитается из x столько раз, сколько выполнился цикл.
Переменная x, получившаяся в результате выполонения цикла, записывается в переменную Q:
M = x
Таким образом, чтобы найти начальное значение переменной x, необходимо:
С другой стороны, в программе присудствует часть кода с условным оператором:
if M < L:
M = L
L = x
Согласно условию M < L значения переменных M и L меняются местами.
В том случае, если условие было выполненно, переменные будут иметь следующие значения L=5 и M=4 (эти значения будут перед выполнение условного оператора).
В этом случае начальное значение переменной x будет равно:
В условии задачи нас просили найти наибольшее значение, поэтому нам необходимо выбрать наибольшее значение переменной x из тех, что мы вычислили. Это значение - 49.
Ответ: 49.