Для какого наименьшего целого неотрицательного числа А выражение
(x + 2y < A)∨(y < x)∨(y > 60)
тождественно истинно?
Решение.
Выражение (x + 2y < A)∨(y > x)∨(y > 60) тождественно истинно, когда любое выражение из скобок равны 1.
Рассмотрим случаи, когда (y < x) и (y > 60)равны 0. Для первого выражения это возможно, когда y ≥ x. Для второго выражения y ≤ 60. Тогда, чтобы выражение (x + 2y < A)∨(y > x)∨(y > 60) было торжественно истинно, необходимо, чтобы x + 2y < A было истинно. Это возможно, когда Следовательно, наименьшее целое неотрицательное число А = 181.
Ответ: 181.
Приведём другое решение на языке Python.
for a in range(0, 300):
k = 0
for x in range(0, 300):
for y in range(0, 300):
if (x + 2 * y < a) or (y < x) or (y > 60):
k += 1
if k == 90_000:
print(a)
break
Приведём решение Ильи Андрианова на языке Python.
def F(x, y, A):
return (x + 2 * y < A) or (y < x) or (y > 60)
for A in range(0, 1000):
if all(F(x, y, A) for x in range(100) for y in range(100)):