Шешімі: Максимальное число по двоичной жазбалар
Ниже на пяти языках программирования записан один и тот же алгоритм. Получив на вход число $x$, алгоритм печатает два числа: $L$ и $M$. Укажите наибольшее число $x$, при вводе которого алгоритм печатает сначала $5$, а потом $6$. Алгоритм в цикле делит $x$ на $2$ с отбрасыванием остатка; переменная $M$ считает количество выполнений цикла, а $L$ — количество нечётных остатков при делении.
Шешім по шагам
4 қадамПри последовательном целочисленном делении положительного числа на $2$ количество выполнений цикла равно числу цифр в его двоичной записи. Поэтому $M=6$ означает, что число имеет шесть двоичных разрядов.
Остаток $1$ при делении на $2$ соответствует единице в двоичной записи. Поэтому $L=5$ означает, что среди шести двоичных цифр должно быть пять единиц.
Чтобы получить наибольшее число, ноль нужно поставить в младшем разряде: $x=111110_2$.
Переведём число в десятичную систему: $111110_2=2^5+2^4+2^3+2^2+2^1=32+16+8+4+2=62$.
Где здесь ошибаются
Путают $L$ и $M$.
Считают количество разрядов вместе с ведущими нулями.
Выбирают число с шестью единицами, хотя требуется ровно пять.