Решение: Сумма и максимум цифр
Ниже на четырёх языках программирования записан алгоритм. Получив на вход число $x$, этот алгоритм печатает два числа: $a$ и $b$. Укажите наименьшее из таких чисел $x$, при вводе которых алгоритм печатает сначала 9, а потом 6.
1x = int(input()) 2a = 0 3b = 0 4while x > 0: 5 c = x % 10 6 a = a + c 7 if c > b: 8 b = c 9 x = x // 10 10print(a) 11print(b)
Решение по шагам
4 шагаВ цикле переменная $a$ увеличивается на каждую цифру числа, поэтому после завершения алгоритма $a$ равна сумме цифр числа $x$.
$$a = \sum d_i$$Переменная $b$ принимает значение очередной цифры, если она больше текущего значения $b$. Поэтому в конце $b$ равна максимальной цифре числа $x$.
$$b = \max(d_i)$$Требуется число с суммой цифр 9 и максимальной цифрой 6. Чтобы число было наименьшим, выбираем минимальную возможную первую цифру. Однозначное число не подходит, поэтому берём две цифры: 3 и 6.
Проверка: сумма цифр числа 36 равна 9, максимальная цифра равна 6.
$$3 + 6 = 9, \quad \max(3,6)=6$$Где здесь ошибаются
Путают сумму цифр с максимальной цифрой.
Выбирают число 63, не учитывая требование найти наименьшее число.
Не проверяют, что максимальная цифра должна быть равна 6.