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

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

(x > 23)∨ (A > x) ∨(A > y)∨ (y > 47) » class=»math-display» src=»/images/inform/quest/quest-2059-2.svg» width=»auto»></div>
<p class= тождественно истинна при любых положительных x  и y  ?

Решение 1. Руками

Система для врагов:

( ||| x ≤ 23 |||{   A ≤ x ||| A ≤ y |||(   y ≤ 47

Чтобы условия врагов не выполнялись, друзья должны взять такое A  , чтобы при всех x  и y  , которые хотят враги выполнялось A > x  » class=»math» src=»/images/inform/reshen/reshen-2059-5.svg» width=»auto»> или <img alt= y » class=»math» src=»/images/inform/reshen/reshen-2059-6.svg» width=»auto»> (хотя бы одно из условий). Чтобы получить искомое A  , посмотрим, какие значения   нас принимают x  и y  . Из неравенств следует, что максимальные значения x  и y  равны 23  и 47  соответсвенно. А значит, можно выбрать то условие для A  , где оно больше всех значений x  (т.к. найдутся значения y  больше). Тогда чтобы выполнилось условие A > x  » class=»math» src=»/images/inform/reshen/reshen-2059-18.svg» width=»auto»> значение, которое должно принимать <img decoding=.

 

Решение 2. Программой

def f(x, y, a):
    return (x > 23) or (a > x) or (a > y) or (y > 47)

for a in range(1000):
    podh = True
    for x in range(1000):
        for y in range(1000):
            if not(f(x, y, a)):
                podh = False
                break
        if not(podh):
            break
    if podh:
        print(a)
        break

 

Решение 3. Программой

def f(a):
    for x in range(1000):
        for y in range(1000):
            # если отрицание функции истинно, то такое a
            # не подходит
            if not((x > 23) or (a > x) or (a > y) or(y > 47)):
                return False
    # если все значения A прошли проверку, то вернем истину
    return True
for a in range(100):
    if f(a):
        print(a)
        break

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