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

Для какого наименьшего целого неотрицательного числа A  выражение

(y + 2x < A )∨ (x > 30)∨ (y > 20) » class=»math-display» src=»/images/inform/quest/quest-1792-2.svg» width=»auto»></div>
<p class= тождественно истинно, то есть принимает значение 1  при любых целых неотрицательных x  и y  ?

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

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

( |||y + 2x ≥ A { ||x ≤ 30 |(y ≤ 20

Чтобы условия врагов не выполнялись, друзья должны взять такое A  , чтобы при всех x  и y  , которые хотят враги выполнялось y + 2x < A  . Чтобы получить A  , которое в данном неравенстве подойдет для всех значений x  и y  , возьмем максимально допустимые по врагам x  и y  (если A  подойдет для них, то для меньших тем более).

Получим: 20+ 2 ⋅30 < A  . Откуда следует, что A = 81  .

 

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

def f(x, y, A):
    return (y + 2 * x < A) or (x > 30) or (y > 20)
for A in range(10000):
    met_false = False
    for x in range(1000):
        for y in range(1000):
            if not f(x, y, A):
                met_false = True
                break
        if met_false:
            break
    if not met_false:
        print(A)
        break

 

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

def f(a):
    for x in range(1000):
        for y in range(1000):
            if not((y + 2 * x < a) or (x > 30) or (y > 20)):
                return False
    return True
for a in range(1000):
    if f(a):
        print(a)
        break

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