Для какого наименьшего целого неотрицательного числа A выражение
(3x + 4y ≠ 70) ∨ (A > x) ∨ (A > y)
тождественно истинно при любых целых неотрицательных x и y?
Решение.
Решим задачу графически. Условие (3x + 4y ≠ 70) задаёт множество, отмеченное на рисунке закрашенной областью. Чтобы исходное выражение было тождественно истинно для любых целых и неотрицательных x и y,прямые x < A и y < A должны образовывать прямой угол на прямой y = x, вершина которого лежит выше прямой Следовательно, они должны образовывать прямой угол, пересекаясь в точке (11, 11). Таким образом, наименьшее значение Aравняется 11.
Для какого наименьшего целого неотрицательного числа A выражение
(5x + 3y ≠ 60) ∨ ((A > x) ∧ (A > y))
тождественно истинно при любых целых неотрицательных x и y?
Решение.
Решим задачу графически. Условие (5x + 3y ≠ 60) задаёт множество, отмеченное на рисунке закрашенной областью. Чтобы исходное выражение было тождественно истинно для любых целых и неотрицательных x и y, прямые x < A и y < A должны образовывать прямой угол на прямой x = y, вершина которого лежит таким образом, чтобы прямая была ниже и левее. Следовательно, они должны образовывать прямой угол, пересекаясь в точке (21, 21). Таким образом, наименьшее значение Aравняется 21.
Ответ: 21.
Приведём другое решение на языке Python.
for a in range(0, 300):
k = 0
for x in range(0, 300):
for y in range(0, 300):
if (5*x + 3*y != 60) or ((a > x) and (a > y)):
k += 1
if k == 90_000:
print(a)
break
Приведём решение Артема Нерсисяна на языке Python.
for A in range(1000):
if all((5*x+3*y != 60) or ((A>x) and (A>y)) for x in range(1000) for y in range(1000)):