Анализ алгоритма в восьмеричной системе
Получив на вход натуральное десятичное число $x$, алгоритм печатает два числа: $L$ и $M$. Укажите наибольшее число $x$, при вводе которого алгоритм печатает сначала $2$, а потом $3$.
1x = int(input()) 2L = 1 3M = 0 4while x > 0: 5 M = M + 1 6 if x % 2 == 0: 7 L = L * (x % 8) 8 x = x // 8 9print(L) 10print(M)
Условие как в банке ФИПИ — открыть и сверить
| Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное десятичное число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 2, а потом 3.
| ||||||||||||
| | ||||||||||||
Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.
1Мягкая — с чего смотретьуровень 1 из 3
Что означает последовательное целочисленное деление числа на $8$? Сколько цифр в восьмеричной записи числа соответствует значению $M = 3$?
2Наводящая — какие числа считатьуровень 2 из 3
Разберите цифры числа в восьмеричной системе справа налево. Если текущая цифра чётная, она умножается на $L$, а если нечётная — не влияет на $L$.
3Прямая — фактически решениеуровень 3 из 3
Для получения $L = 2$ среди трёх восьмеричных цифр должна быть ровно одна цифра $2$, а остальные — нечётные. Наибольшее число получается при записи $772_8$.