Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m».
Задан отрезок B = [15; 30].
Для какого наибольшего натурального числа A логическое выражение
ДЕЛ(x, A) ∨ (ДЕЛ(x, 23) → ¬(x ∈ B))
тождественно истинно (т. е. принимает значение 1) при любом натуральном значении переменной x?
Решение
Шаг 1. Функция ДЕЛ(n, m)
def DEL(n, m):
return n % m == 0
Определяем проверку делимости.
Шаг 2. Перебор кандидата A
B = range(15, 31)
best = 0
for A in range(1, 3001):
ok = True
Перебираем натуральные A и ищем наибольшее подходящее.
Шаг 3. Проверка формулы для всех x
for x in range(1, 3001):
if not (DEL(x, A) or (DEL(x, 23) <= (x not in B))):
ok = False
break
Формула: DEL(x, A) ∨ (DEL(x, 23) → ¬(x ∈ B)). Если ложна хотя бы для одного x — это A не подходит.
Шаг 4. Вывод наибольшего A
if ok:
best = A
print(best)
Запоминаем наибольшее подходящее A. Ответ: 23.
Решение
Шаг 1. Функция ДЕЛ(n, m)
def DEL(n, m):
return n % m == 0
Определяем проверку делимости.
Шаг 2. Перебор кандидата A
B = range(15, 31)
best = 0
for A in range(1, 3001):
ok = True
Перебираем натуральные A и ищем наибольшее подходящее.
Шаг 3. Проверка формулы для всех x
for x in range(1, 3001):
if not (DEL(x, A) or (DEL(x, 23) <= (x not in B))):
ok = False
break
Формула: DEL(x, A) ∨ (DEL(x, 23) → ¬(x ∈ B)). Если ложна хотя бы для одного x — это A не подходит.
Шаг 4. Вывод наибольшего A
if ok:
best = A
print(best)
Запоминаем наибольшее подходящее A. Ответ: 23.
Решение
Шаг 1. Функция ДЕЛ(n, m)
def DEL(n, m):
return n % m == 0
Определяем проверку делимости.
Шаг 2. Перебор кандидата A
B = range(15, 31)
best = 0
for A in range(1, 3001):
ok = True
Перебираем натуральные A и ищем наибольшее подходящее.
Шаг 3. Проверка формулы для всех x
for x in range(1, 3001):
if not (DEL(x, A) or (DEL(x, 23) <= (x not in B))):
ok = False
break
Формула: DEL(x, A) ∨ (DEL(x, 23) → ¬(x ∈ B)). Если ложна хотя бы для одного x — это A не подходит.
Шаг 4. Вывод наибольшего A
if ok:
best = A
print(best)
Запоминаем наибольшее подходящее A. Ответ: 23.