← Все вопросы

Задание 15 ЕГЭ: как решать неравенства с ДЕЛ через перебор на Python?

Задан 21 месяц назад690 просмотров3 ответа
12

Задание 15 второго типа: формула вида (ДЕЛ(x, A) ∧ ¬ДЕЛ(x, B)) → ДЕЛ(x, C) должна быть истинна при всех натуральных x. Надо найти наибольшее/наименьшее подходящее число. Логика на множествах/отрезках выносит мне мозг. Можно перебором?

3 ответа

14
✓ Принятый ответ — помог автору

Да, 15-е почти всегда добивается перебором. ДЕЛ(x, a) — это x % a == 0. Подбираешь искомый параметр A в каком-то диапазоне, и для каждого A проверяешь, что выражение истинно при ВСЕХ x от 1 до некоторого предела (для делимости хватает x до ~ произведения чисел из условия, обычно до 10000 с запасом).

for A in range(1, 10000):
    ok = True
    for x in range(1, 10001):
        # пример выражения: (DEL(x,A) and not DEL(x,21)) -> DEL(x,35)
        left = (x % A == 0) and not (x % 21 == 0)
        right = (x % 35 == 0)
        if left and not right:   # импликация ложна
            ok = False
            break
    if ok:
        print(A)

Импликация P→Q ложна только когда P истинно, а Q ложно — это и проверяем. Дальше из всех подходящих A берёшь нужное (макс/мин).

Глеб Степанов это золото, я месяц мучился с теорией множеств 🙏 · 21 месяц назад
Яна Борисова а импликацию можно как (not left) or right записать · 20 месяцев назад
6

ДЕЛ(x,a) = x % a == 0, импликация ложна при P и не Q. Двойной цикл и перебор — норм решение.

2

Перебором.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект