5

5 задание ЕГЭ информатика

Анализ алгоритма с двоичной записью

1 балл ≈ 4 мин уровень Б Исполнение простого алгоритма

Задание 5 – алгоритм строит по числу N новое число R: переводит N в двоичную (или другую) систему, дописывает или меняет разряды по правилам, переводит обратно. Нужно найти минимальное N или R при условии. 1 балл. Решается перебором на Python за минуту.

Полезные функции Python

  • bin(n)[2:] – двоичная запись числа строкой (без префикса 0b).
  • int(s, 2) – строка из 0 и 1 в десятичное число.
  • s.count("1") – количество единиц, s[-3:] – три последние цифры, s[::-1] – разворот.
  • Для системы с основанием b пиши функцию перевода с остатками от деления.

Алгоритм

  1. Перенеси правила построения R в код дословно, по шагам.
  2. Проверь код на примере из условия (там всегда есть пример: «для N = 12 получится R = 100»).
  3. Перебери N по возрастанию и выведи первое подходящее.

Разобранный пример. К двоичной записи N справа дописывается 0, если N чётное, и 1, если нечётное; затем к новой записи дописывается остаток от деления количества её единиц на 2. Найди наименьшее N, для которого R > 77.

for n in range(1, 1000):
    s = bin(n)[2:]
    s = s + ("0" if n % 2 == 0 else "1")
    s = s + str(s.count("1") % 2)
    r = int(s, 2)
    if r > 77:
        print(n, r)
        break

Ответ: N = 19 (10011 → 100111 → 1001110 = 78).

Ловушки: перепутать «не меньше» (>=) и «больше» (>); спрашивают N, а ты выводишь R (или наоборот); не проверить код на примере из условия.

На экзамене
  • Первым делом проверь программу на примере из условия – это ловит 90 % ошибок.
  • Внимательно: «наименьшее N» или «наименьшее R» – печатай нужное.
  • Диапазон перебора бери с запасом, например до 10 000.

Разобранные задания 5 из открытого банка ФИПИ

Пример 1 · код ФИПИ 89FBC4

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

1) Строится двоичная запись числа N.

2) К этой записи дописываются справа ещё два разряда по следующему правилу: если N нечётное, в конец числа (справа) дописывается сначала ноль, а затем единица. В противном случае, если N чётное, справа дописывается сначала единица, а затем ноль.

Например, двоичная запись 1001 числа 9 будет преобразована в 100101,
а двоичная запись 1100 числа 12 будет преобразована в 110010.

Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью числа R –  результата работы данного алгоритма.

Укажите максимальное число R, которое меньше 89 и может являться результатом работы данного алгоритма. В ответе это число запишите
в десятичной системе счисления.

Показать ответ и решение

Ответ: 85

Возможные R: нечётные N дают окончание 01, чётные – 10. Наибольшее R < 89: 85 = 1010101₂ (N = 21 – нечётное).

Пример 2 · код ФИПИ A7196F

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число следующим образом.

1)    Строится двоичная запись числа N.

2)    К этой записи дописываются справа ещё два разряда по следующему правилу: если N чётное, в конец числа (справа) дописываются два нуля, в противном случае справа дописываются две единицы. Например, двоичная запись 1001 числа 9 будет преобразована в 100111.  

Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью числа –  результата работы данного алгоритма.

Укажите минимальное число N, для которого результат работы алгоритма будет больше 134. В ответе это число запишите в десятичной системе счисления.

Показать ответ и решение

Ответ: 33

R = 4N (чётное N) или 4N + 3 (нечётное).

N = 33: R = 135 > 134; N = 32: R = 128. Ответ 33.

Пример 3 · код ФИПИ B933D5

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

1. Строится троичная запись числа N.

2. Далее эта запись обрабатывается по следующему правилу:

а) если число N делится на 3, то к этой записи дописываются две последние троичные цифры;

б) если число N на 3 не делится, то остаток от деления умножается на 5, переводится в троичную запись и дописывается в конец числа.

Полученная таким образом запись является троичной записью искомого числа R.

3. Результат переводится в десятичную систему и выводится на экран.

Например, для исходного числа 1110 = 1023 результатом является число 1021013 = 30710, а для исходного числа 610 = 203 это число 20203 = 6010.

Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, не меньшее 242.

Показать ответ и решение

Ответ: 11

N = 11 = 102₃: остаток 2·5 = 10 = 101₃ → 102101₃ = 307 ≥ 242. Для N ≤ 10 перебор даёт R < 242.

Ответ: 11.

Частые вопросы о задании 5

Сколько баллов даёт задание 5 ЕГЭ по информатике?

Максимум – 1 первичный балл. Норма времени на экзамене – около 4 мин. Уровень сложности – Б.

Что проверяет задание 5?

Задание 5 – алгоритм строит по числу N новое число R: переводит N в двоичную (или другую) систему, дописывает или меняет разряды по правилам, переводит обратно. Нужно найти минимальное N или R при условии. 1 балл. Решается перебором на Python за минуту.

Как подготовиться к заданию 5?

Прочитайте теорию выше: алгоритм, нужные факты и ловушки. Затем решите подход из 10 заданий с автопроверкой и разбором – первые без регистрации – и вернитесь к ошибкам. В пробниках Сотки номер встречается в полных вариантах ФИПИ с подсчётом баллов.

Упражнения к заданию 5

10 заданий подряд с проверкой и разбором · первые 7 – без регистрации