На числовой прямой даны два отрезка: P = [101; 143] и Q = [144; 199].
Найдите наибольшую возможную длину такого отрезка A, для которого логическое выражение
(x ∈ A) → ((x ∈ P) ∨ (x ∈ Q))
истинно (т. е. принимает значение 1) при любом значении переменной x.
Решение
Шаг 1. Фрагмент программы
P = range(101, 144)
Q = range(144, 200)
Разбираем следующий фрагмент программы.
Шаг 2. Фрагмент программы
ranges = (
range(101, 144),
range(144, 200),
Разбираем следующий фрагмент программы.
Шаг 3. Фрагмент программы
)
best = 0
for A in ranges:
Разбираем следующий фрагмент программы.
Шаг 4. Фрагмент программы
for x in range(101, 200):
if (x in A) and not ((x in P) or (x in Q)):
break
Разбираем следующий фрагмент программы.
Шаг 5. Ответ
else:
best = max(best, A.stop - A.start - 1)
print(best)
Печатаем ответ: 55.
Решение
Шаг 1. Фрагмент программы
P = range(101, 144)
Q = range(144, 200)
Разбираем следующий фрагмент программы.
Шаг 2. Фрагмент программы
ranges = (
range(101, 144),
range(144, 200),
Разбираем следующий фрагмент программы.
Шаг 3. Фрагмент программы
)
best = 0
for A in ranges:
Разбираем следующий фрагмент программы.
Шаг 4. Фрагмент программы
for x in range(101, 200):
if (x in A) and not ((x in P) or (x in Q)):
break
Разбираем следующий фрагмент программы.
Шаг 5. Ответ
else:
best = max(best, A.stop - A.start - 1)
print(best)
Печатаем ответ: 55.
Решение
Шаг 1. Фрагмент программы
P = range(101, 144)
Q = range(144, 200)
Разбираем следующий фрагмент программы.
Шаг 2. Фрагмент программы
ranges = (
range(101, 144),
range(144, 200),
Разбираем следующий фрагмент программы.
Шаг 3. Фрагмент программы
)
best = 0
for A in ranges:
Разбираем следующий фрагмент программы.
Шаг 4. Фрагмент программы
for x in range(101, 200):
if (x in A) and not ((x in P) or (x in Q)):
break
Разбираем следующий фрагмент программы.
Шаг 5. Ответ
else:
best = max(best, A.stop - A.start - 1)
print(best)
Печатаем ответ: 55.