Задание №15 ЕГЭ по информатике: разбор, шаблоны кода Python и анти-примеры | СмартКИМ
СмартКИМ УДОБНАЯ ПОДГОТОВКА К ЕГЭ И ОГЭ
Задачи №15 Решать в тренажере Войти в СмартКИМ
ЕГЭ (1–27) ОГЭ (1–15) Python: шпаргалка
Быстрый переход по номерам и темам
Повышенный (1 балл) Время: 3-6 мин Python all() Перебор параметра A Все задачи №{ topic_num } в каталоге

Задание №15. Истинность утверждений для отрезков, делимости и побитовых операций

Тема: Поиск параметра А (ДЕЛ, отрезки, побитовое И &, множества)
Поиск наименьшего или наибольшего натурального параметра А, при котором логическое выражение тождественно истинно для всех x (и y).

1. Шаблон решения Задания 15 на Python:

  1. Перебираем возможное значение параметра A в цикле (например, range(1, 1000)).
  2. Для каждого A проверяем, истинно ли выражение для ВСЕХ x в диапазоне range(1, 1000) с помощью функции all(...).
  3. Первое подходящее A (для минимума) или последнее (для максимума) — ответ!

Разновидности и прототипы задания на экзамене

Тип 1: Делимость (ДЕЛ(x, N))
`def DEL(x, n): return x % n == 0`.
Тип 2: Побитовая конъюнкция (x & A != 0)
Битовые операции `x & A`.
Тип 3: Числовые отрезки P и Q
Поиск длины отрезка A через дискретные координаты с шагом 0.5.

Боевой шаблон решения на Python

Запустить код в онлайн-песочнице
# === Боевой шаблон Задания №15 на Python ===

# 1. Тип ДЕЛ:
def DEL(x, n):
    return x % n == 0

for A in range(1, 1000):
    # Проверяем условие для всех x:
    if all((DEL(x, 2) <= (not DEL(x, 3))) or (x + A >= 100) for x in range(1, 1000)):
        print("Минимальное A (ДЕЛ):", A)
        break

# 2. Тип Побитовая конъюнкция &:
for A in range(1, 1000):
    if all(((x & 29 != 0) <= ((x & 17 == 0) <= (x & A != 0))) for x in range(1, 1000)):
        print("Минимальное A (побитовое):", A)
        break

Анти-примеры (Типичные ошибки vs Как делать правильно)

Как делать НЕ надо:
Ошибка: Использовать диапазон x от 0 при функции DEL
x % 0 вызовет ZeroDivisionError!
Как делать ПРАВИЛЬНО:
Правильно: Диапазон натуральных x строго от 1: range(1, 1000)
ГРОБ

ГРОБ №15: Отрезки с полуинтервалами и граничными точками

Отрезки P=[10, 40] и Q=[25, 60].

Как обойти ловушку: Перебирайте x с шагом 0.5 (например: `[i/2 for i in range(20, 150)]`), чтобы не потерять точки между целыми числами.

Лайфхаки и подводные камни на экзамене:

  • Функция `all(...)` работает лениво: как только находится хотя бы один `x`, где выражение ложно, она моментально прерывается, что обеспечивает огромную скорость работы!
Банк реальных задач №15 Открыть в тренажере СмартКИМ