Двоичная запись числа: алгоритм строит новое число
Задание 5 · Билет 1 · ЕГЭ по информатике
Условие
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом:
- Строится двоичная запись числа N.
- Запись обрабатывается по правилу:
- а) если N делится на 3, к записи дописываются её три последние двоичные цифры;
- б) если N на 3 не делится, то остаток от деления умножается на 3, переводится в двоичную запись и дописывается в конец числа.
- Результат переводится в десятичную систему.
Разбор задачи
Задание 5 ЕГЭ по информатике — это двоичная запись числа и «алгоритм, который строит новое число». Дано натуральное число N; его двоичную запись преобразуют по правилу: дописывают несколько бит (последние цифры, остаток от деления, бит чётности) или заменяют разряды. Получается новое число R.
Вопрос почти всегда один: найти такое N, при котором R окажется не меньше (или не больше) заданного порога. R зависит от N немонотонно, поэтому N находят честным перебором, а не «на глаз».
Что важно знать
- Задание базового уровня — оценивается в 1 балл
- Правило у каждого варианта своё: сначала перепишите шаги и проверьте их на примерах из условия
- В ответе — само число N, а не найденное R
Потренируйся выполнять алгоритм по шагам: переведи N в двоичную, измени биты и вернись в десятичную.
Решение
Теория с нуля: что нужно знать
Подпишем под числом 11010 веса разрядов:
| бит | 1 | 1 | 0 | 1 | 0 |
|---|---|---|---|---|---|
| вес | 16 | 8 | 4 | 2 | 1 |
Получаем: 110102 = 16 + 8 + 0 + 2 + 0 = 2610.
| действие | частное | остаток |
|---|---|---|
| 26 ÷ 2 | 13 | 0 |
| 13 ÷ 2 | 6 | 1 |
| 6 ÷ 2 | 3 | 0 |
| 3 ÷ 2 | 1 | 1 |
| 1 ÷ 2 | 0 | 1 |
Остатки читаем снизу вверх: 11010. Это и есть двоичная запись числа 26.
• 26 = 3·8 + 2 → остаток 2;
• 12 = 3·4 + 0 → число делится на 3 нацело (остаток 0).
Именно так устроена задача: число R — это строка битов числа N плюс приклеенный «хвост» X.
Решение
открыто шагов: 4 из 4Проверка
Типовые ошибки и проверка
- Ошибка 1. Не переписали правило и не проверили на примерах из условия — из-за этого неправильно поняли шаги алгоритма.
- Ошибка 2. Перепутали направление перебора или неравенство: ищут минимальное/максимальное N, R≤ или R≥.
- Ошибка 3. Ошибка в самой функции R (перевод в двоичную, дописывание, замена разрядов) — всегда сверяйте её на примерах из условия.
- Ошибка 4. Подбирают «по-крупному» без перебора: R немонотонно, такой подход ненадёжен.
- Ошибка 5. Отвечают числом R вместо N.
- Проверка: подставьте найденное N в правило из условия: условие должно выполняться, а у соседнего N в нужную сторону — нет.
Режимы
Сейчас открыт режим обучения: теория, разбор и ответ видны. Скоро появится режим проверки — только условие и поле ответа, без подсказок.
Практикум Все задания Режим проверки — скоро