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

Разборы · ЕГЭ, задание 15

Задание 15 ЕГЭ по информатике: логические выражения с параметром

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

Дано логическое выражение с переменной x и параметром A: с делимостью (ДЕЛ), отрезками на числовой прямой, поразрядной конъюнкцией или неравенствами. Нужно найти наибольшее или наименьшее A, при котором выражение истинно при любом x. 1 балл.

Что нужно знать

Как решать

  1. Напишите функцию, которая для данного A проверяет выражение для всех x из большого диапазона (например, 1…1000).
  2. Переберите A и выберите наибольшее (или наименьшее) подходящее.
  3. Подумайте, хватает ли диапазона: если при больших x выражение заведомо истинно, диапазон взят правильно.

Пример из демоверсии 2027

Отрезок B = [70; 90]. Для какого наибольшего натурального A выражение ДЕЛ(x, A) ∨ ((x ∈ B) → ¬ДЕЛ(x, 22)) истинно при любом целом положительном x?

Решение. Вторая часть ложна, только если x ∈ [70; 90] и x делится на 22. На отрезке одно такое число — 88. При x = 88 выражение должно быть истинно за счёт первой части, значит, 88 делится на A. Наибольшее такое A — 88.

def ok(A):
    for x in range(1, 1001):
        in_b = 70 <= x <= 90
        if not (x % A == 0 or ((not in_b) or x % 22 != 0)):
            return False
    return True

print(max(A for A in range(1, 1001) if ok(A)))       # 88

При x > 90 вторая часть всегда истинна, поэтому диапазона до 1000 хватает.

Типичные ошибки

Потренироваться: задание 15 новые варианты с проверкой ответа

Подготовиться с репетитором

На занятиях разбираем каждое задание в формате экзамена и отрабатываем его на тренажёрах с проверкой по критериям.

Записаться на пробное занятие

Другие разборы