Задача к ЕГЭ по информатике на тему «неравенства» №1

Для какого наибольшего целого числа A  формула

(x+ y ≤ 25)∨(y ≤ x+ 3)∨ (y ≥ A )

тождественно истинна, (т. е. принимает значение 1  ) при любых натуральных значениях переменных x  и y  ?

Решение аналитически:

Первым шагом инвертируем известную часть, чтобы определить при каких x  исходное выражение будет ложно:

25)∧ (y > x+ 3) » class=»math-display» src=»/images/inform/reshen/reshen-3438-2.svg» width=»auto»>

Тепеь определим, для какого минимального y  это выражение будет давать истину. Так как значение y  связано со значением x  неравенством x+ 3 » class=»math» src=»/images/inform/reshen/reshen-3438-6.svg» width=»auto»>, то чтобы минимизировать y  , нужно минимизировать и x  .

Если мы зафиксируем какое-то значение x  , то для выбранного x  минимальное значение y = x + 4  (так как x+ 3 » class=»math» src=»/images/inform/reshen/reshen-3438-12.svg» width=»auto»>). Значит, 25 » class=»math» src=»/images/inform/reshen/reshen-3438-13.svg» width=»auto»>. Тогда минимальный подходящий x = 11  , а соответствующий ему минимальный y = 15  .

Значит, значение y = 15  это минимальные значение, которое будет давать ложь в исходном выражении. Тогда, чтобы исходное выражение всегда было истинно, то должно выполняться неравенство 15 ≥ A  . Отсюда наибольшее значение A = 15  .

Решение программой:

def f(a):
    for x in range(1, 1000):
        for y in range(1, 1000):
            if not(x + y <= 25 or y <= x + 3 or y >= a):
                return False
    return True

for a in range(100, 1, -1):
    if f(a):
        print(a)
        break

Ответ: 15
Оцените статью
Я решу все!