Максимальное число по алгоритму
Получив на вход натуральное десятичное число $x$, алгоритм печатает два числа: $L$ и $M$. Укажите наибольшее число $x$, при вводе которого алгоритм выводит сначала $12$, а потом $3$.
1x = int(input()) 2L = 0 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, при вводе которого алгоритм выводит
| ||||||||||||
| | ||||||||||||
Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.
1Мягкая — с чего смотретьуровень 1 из 3
Что означает количество выполнений цикла при последовательном целочисленном делении на $8$?
2Наводящая — какие числа считатьуровень 2 из 3
Три выполнения цикла означают, что число записывается тремя цифрами в восьмеричной системе. Величина $L$ складывает те восьмеричные цифры, которые являются чётными.
3Прямая — фактически решениеуровень 3 из 3
Чтобы получить $L=12$, рассмотрите трёхзначные восьмеричные числа и максимизируйте их слева направо. Подходит число $766_8$, которое в десятичной системе равно $502$.