22

Решение: Подсчёт единиц в двоичной записи

ЕГЭ · Информатика · Задание 22 · Алгоритмы и исполнители
ПовышеннаяФИПИFF7D90Короткий ответ≈ 3 минутыРазбор в 5 шаговОтвет сверен с ключом
Условие

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

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

5 шагов
1

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

2

При проверке остатка от деления на 2 переменная $L$ увеличивается для каждого нечётного остатка, то есть $L$ равно количеству единиц в двоичной записи числа.

3

Условие $M=7$ означает, что двоичная запись начинается с единицы и содержит 7 разрядов. Условие $L=3$ означает, что в ней ровно три единицы.

4

Минимальная семизначная двоичная запись с тремя единицами имеет единицы в старшем разряде и в двух младших разрядах: $1000011_2$.

Переводим число в десятичную систему: $1000011_2 = 2^6 + 2^1 + 2^0 = 64 + 2 + 1 = 67$.

Ответ
67
67
так ответ выглядит в бланке

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

Путать $L$ и $M$: $L$ считает единицы в двоичной записи, а $M$ — её длину.

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

Забывать, что старшая единица должна находиться в разряде $2^6$.

Закрепить приёмВ теме «Алгоритмы и исполнители» ещё 431 задача — с ответом и таким же разбором.
Тренироваться

Как решать задание 22 ЕГЭ, информатика

Разбор этой задачи разложен на 5 шагов: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Алгоритмы и исполнители»: в ней 432 задачи, и у каждой есть такой же разбор. Регистрация не нужна.