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

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

((x− 10 < A) → (y+ 28 ≥ 4A ))∨(x + y ⁄= 17)

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

Решение аналитикой

Формула состоит из двух частей:

1. (x− 10 < A) → (y+ 28 ≥ 4A )

2. x + y ⁄= 17

Формула будет истинной, если хотя бы одна из частей истинна.

Первая часть является импликацией, которая истинна в следующих случаях:

— Если x − 10 < A  ложно, то есть x ≥ A+ 10  .

— Если x − 10 < A  истинно, то необходимо, чтобы y + 28 ≥ 4A  .

Таким образом, для первой части формулы можно записать два условия:

1. Если x < A + 10  , тогда должно выполняться условие y+ 28 ≥ 4A  .

2. Если x ≥ A + 10  , то первая часть всегда истинна.

Вторая часть формулы x + y ⁄= 17  будет ложной только в одном случае: когда x + y = 17  . Чтобы формула была тождественно истинной, необходимо, чтобы первое условие обеспечивало истинность в случае, когда x + y = 17  .

Рассмотрим случай, когда x+ y = 17  . Из этого уравнения можно выразить y = 17− x  . Теперь подставим это значение во вторую часть:

y+ 28 = (17− x) +28 = 45− x.

Таким образом, для первой части формулы при условии x < A + 10  :

45− x ≥ 4A

или

x ≤ 45 − 4A.

Теперь у нас есть два условия:

1. x < A + 10

2. x ≤ 45− 4A

Чтобы обе части были истинны одновременно, необходимо:

A + 10 > 45− 4A. » class=»math-display» src=»/images/inform/reshen/reshen-3833-21.svg» width=»auto»></div>
<p class= Решим это неравенство:

A + 10 +4A > 45, » class=»math-display» src=»/images/inform/reshen/reshen-3833-22.svg» width=»auto»></div>
<p class=
5A > 35, » class=»math-display» src=»/images/inform/reshen/reshen-3833-23.svg» width=»auto»></div>
<p class=
A > 7. » class=»math-display» src=»/images/inform/reshen/reshen-3833-24.svg» width=»auto»></div>
<p class= Следовательно, наибольшее целое число A  , которое удовлетворяет этому неравенству, равно:

A = 7.

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

for A in range(100, 1, -1):
    p = True
    for x in range(1, 1000):
        for y in range(1, 1000):
            f = ((x - 10 < A) <= (y + 28 >= 4 * A)) or (x + y != 17)
            if f == False:
                p = False
                break
        if p == False:
            break
    if p == True:
        print(A)
        break

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