Для какого наибольшего неотрицательного целого числа A логическое выражение
(x + y ≤ 27) ∨ (y ≤ x − 1) ∨ (y ≥ A)
истинно (т.е. принимает значение 1) при любых натуральных значениях переменных x и y?
Решение
Шаг 1. Перебор A от большего к меньшему
for A in range(100, 0, -1):
Ищем наибольшее A, при котором формула истинна для всех пар (x, y).
Шаг 2. Подсчёт истинных наборов (x, y)
c = 0
for x in range(1, 101):
for y in range(1, 101):
if (x + y <= 27) or (y <= x - 1) or (y >= A):
c += 1
Перебираем все допустимые x и y и считаем, при скольких парах формула истинна.
Шаг 3. Проверка полного покрытия и ответ
if c == 10000:
print(A)
break
Если формула истинна для всех 100 × 100 пар — выводим A и останавливаемся. Ответ: 14.
Решение
Шаг 1. Перебор A от большего к меньшему
for A in range(100, 0, -1):
Ищем наибольшее A, при котором формула истинна для всех пар (x, y).
Шаг 2. Подсчёт истинных наборов (x, y)
c = 0
for x in range(1, 101):
for y in range(1, 101):
if (x + y <= 27) or (y <= x - 1) or (y >= A):
c += 1
Перебираем все допустимые x и y и считаем, при скольких парах формула истинна.
Шаг 3. Проверка полного покрытия и ответ
if c == 10000:
print(A)
break
Если формула истинна для всех 100 × 100 пар — выводим A и останавливаемся. Ответ: 14.
Решение
Шаг 1. Перебор A от большего к меньшему
for A in range(100, 0, -1):
Ищем наибольшее A, при котором формула истинна для всех пар (x, y).
Шаг 2. Подсчёт истинных наборов (x, y)
c = 0
for x in range(1, 101):
for y in range(1, 101):
if (x + y <= 27) or (y <= x - 1) or (y >= A):
c += 1
Перебираем все допустимые x и y и считаем, при скольких парах формула истинна.
Шаг 3. Проверка полного покрытия и ответ
if c == 10000:
print(A)
break
Если формула истинна для всех 100 × 100 пар — выводим A и останавливаемся. Ответ: 14.