РУҚА
22

Шешімі: Максимальное число по алгоритму

ЕГЭ · Информатика · Тапсырма 22 · Алгоритмдер және орындаушылар
КүрделіФИПИE24A2DҚысқа жауап≈ 3 минутТалдау 3 қадамЖауап сверен с ключом
Условие

Ниже на пяти языках программирования записан алгоритм. Получив на вход число $x$, этот алгоритм печатает два числа: $L$ и $M$. Укажите наибольшее число $x$, при вводе которого алгоритм печатает сначала 3, а потом 6.

Python
1x = int(input())
2L = 0
3M = 0
4while x > 0:
5    M = M + 1
6    if x % 2 != 0:
7        L = L + 1
8    x = x // 2
9print(L)
10print(M)
Тапсырманы ашып, өзіңіз шешіңіз
Дальше ответЕгер әлі шешіп жатсаңыз – кеңестерден бастаңыз: олар жауапқа жетелейді, бірақ оны ашпайды.
К подсказкам

Шешімін қадамдап көрсету

3 қадам
1

На каждой итерации число $x$ заменяется на результат целочисленного деления на 2. Поэтому $M$ равно количеству разрядов двоичной записи исходного числа.

$$M=6$$
2

Увеличение $L$ происходит тогда и только тогда, когда очередной остаток от деления на 2 равен 1. Значит, $L$ равно количеству единиц в двоичной записи числа.

$$L=3$$

Искомое число должно иметь шесть двоичных разрядов и ровно три единицы. Наибольшее такое число получается, если единицы стоят в старших разрядах.

$$111000_2=32+16+8=56$$
Жауап
56
56
так ответ выглядит в бланке

Где здесь ошибаются

Путать $M$ с количеством единиц в двоичной жазбалар.

Выбирать число с пятью или более двоичными разрядами.

Расположить три единицы не в старших разрядах и получить не最大альное число.

Закрепить приёмВ теме «Алгоритмдер және орындаушылар» ещё 431 тапсырма — жауабымен және дәл осындай талдауымен.
Жаттығу

Тапсырманы қалай шешу керек 22 ЕГЭ, информатика

Бұл есептің талдауы келесіге бөлінген: 3 шага: видно, откуда берётся каждое число и где теряется балл. Жауап есептеулердің жанында келтірілген, олардың орнына емес.

Задача из темы «Алгоритмдер және орындаушылар»: в ней 432 задачи, и у каждой есть такой же разбор. Тіркеу қажет емес.