ALEXMATH

Информатика. ЕГЭ

Задания для подготовки

Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников

Перейти к заданиям

Задание 5. Информатика. ЕГЭ. Поляков-6996

Просмотры: 2929
Изменено: 1 февраля 2025

(Е. Джобс) На вход алгоритма подается натуральное число \(N > 1.\) Алгоритм строит по нему новое число \(R\) следующим образом.

  1. Строится двоичная запись числа \(N.\)
  2. Из полученной записи убирается старшая (левая) единица.
  3. Далее эта запись обрабатывается по следующему правилу:
    1. если в полученной записи количество единиц четное, то слева дописывается 10;
    2. если количество единиц нечётное, слева дописывается 1, справа 0.

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

Например, для исходного числа \(4 = 100_2\) результатом будет являться число \(8 = 1000_2,\) а для исходного числа \(6 = 110_2\) результатом будет являться число \(12 = 1100_2.\)

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

Решение:

Python


def R(N):
    bn = f'{N:b}'[1:]
    if bn.count('1') % 2 == 0:
        bn = '10' + bn
    else:
        bn = '1' + bn + '0'
    return int(bn, 2)

print(max(R(N) for N in range(2, 450) if R(N) < 450))

Ответ: \(444\)

Обсуждение задания

Здесь пока нет ни одного комментария. Будьте первым!

kege1
kege2
kege3
Новый тренажёр-эмулятор
Станции КЕГЭ

Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене.

Новое видео

Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»

Поддержать автора сайта!

Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.

Совершая донат, вы соглашаетесь с Условиями использования

Расписание пробников Статграда в 2026/27 учебном году