Решение: Количество единиц в двоичной записи
Ниже на пяти языках программирования записан алгоритм. Получив на вход число $x$, этот алгоритм печатает два числа: $L$ и $M$. Укажите наименьшее число $x$, при вводе которого алгоритм печатает сначала 5, а потом 7.
Решение по шагам
4 шагаНа каждой итерации цикла число $x$ заменяется на результат целочисленного деления на 2. Поэтому количество итераций $M$ равно количеству цифр в двоичной записи исходного числа.
$$M=7$$Условие $M=7$ означает, что двоичная запись числа состоит из семи цифр, то есть начинается с единицы.
Переменная $L$ увеличивается на единицу, когда текущая последняя двоичная цифра числа равна единице. Следовательно, $L$ равно количеству единиц в двоичной записи.
$$L=5$$Чтобы получить наименьшее семизначное двоичное число с пятью единицами, единицы располагаем как можно правее: $1001111_2$.
$$1001111_2=64+8+4+2+1=79$$Где здесь ошибаются
Путают $L$ и $M$: $L$ считает единицы в двоичной записи, а $M$ — её длину.
Ищут число с пятью двоичными цифрами вместо семи.
Записывают двоичное число $1001111$ как десятичный ответ.