Шешімі: Минимальное число по двоичной жазбалар
Ниже на четырёх языках программирования записан алгоритм. Получив на вход число $x$, этот алгоритм печатает два числа: $L$ и $M$. Укажите наименьшее число $x$, при вводе которого алгоритм печатает сначала 5, а потом 8.
Шешім по шагам
4 қадамНа каждой итерации число $x$ заменяется на результат целочисленного деления на 2. Поэтому количество итераций $M$ равно числу цифр в двоичной записи исходного числа.
$$M=8$$Условие $L=5$ означает, что в двоичной жазбалар числа должно быть ровно пять единиц.
Чтобы восьмизначное двоичное число было наименьшим, его первая цифра должна быть единицей, а остальные четыре единицы нужно расположить как можно правее.
$$x=10001111_2$$Переведём число в десятичную систему счисления.
$$x=2^7+2^3+2^2+2^1+2^0=128+8+4+2+1=143$$Где здесь ошибаются
Путают $L$ и $M$: $L$ считает единицы в двоичной жазбалар, а $M$ — её длину.
Располагают единицы левее, хотя требуется наименьшее число.
Забывают, что первая цифра восьмизначной двоичной жазбалар обязательно равна единице.