Анализ алгоритма в пяти языках
Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное десятичное число $x$, этот алгоритм печатает два числа: $L$ и $M$. Укажите наибольшее число $x$, при вводе которого алгоритм выводит сначала $2$, а потом $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
Что показывает число $M$ после последовательного деления $x$ на $8$ с отбрасыванием остатка?
2Наводящая — какие числа считатьуровень 2 из 3
При $M=3$ число $x$ должно иметь три цифры в восьмеричной записи. Слагаемое в $L$ добавляется только для чётного текущего значения $x$.
3Прямая — фактически решениеуровень 3 из 3
Проверяется число $506$: последовательность текущих значений равна $506$, $63$, $7$. Только первое значение чётное, поэтому $L=506\bmod 8=2$, а число итераций равно $3$.