(Э. Носиров) Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m».
На числовой прямой задан отрезок B = [80; 140].
Для какого наибольшего натурального числа A выражение
ДЕЛ(x, A) ∨ ((x ∈ B) → ¬ДЕЛ(x, 27))
истинно при любом целом положительном значении x?
Решение
Шаг 1. Функция ДЕЛ(n, m)
def DEL(n, m):
return n % m == 0
Определяем проверку делимости.
Шаг 2. Перебор кандидата A
B = range(80, 141)
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 ((x in B) <= (not DEL(x, 27)))):
ok = False
break
Формула: DEL(x, A) ∨ ((x ∈ B) → ¬DEL(x, 27)). Если ложна хотя бы для одного x — это A не подходит.
Шаг 4. Вывод наибольшего A
if ok:
best = A
print(best)
Запоминаем наибольшее подходящее A. Ответ: 27.
Решение
Шаг 1. Функция ДЕЛ(n, m)
def DEL(n, m):
return n % m == 0
Определяем проверку делимости.
Шаг 2. Перебор кандидата A
B = range(80, 141)
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 ((x in B) <= (not DEL(x, 27)))):
ok = False
break
Формула: DEL(x, A) ∨ ((x ∈ B) → ¬DEL(x, 27)). Если ложна хотя бы для одного x — это A не подходит.
Шаг 4. Вывод наибольшего A
if ok:
best = A
print(best)
Запоминаем наибольшее подходящее A. Ответ: 27.
Решение
Шаг 1. Функция ДЕЛ(n, m)
def DEL(n, m):
return n % m == 0
Определяем проверку делимости.
Шаг 2. Перебор кандидата A
B = range(80, 141)
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 ((x in B) <= (not DEL(x, 27)))):
ok = False
break
Формула: DEL(x, A) ∨ ((x ∈ B) → ¬DEL(x, 27)). Если ложна хотя бы для одного x — это A не подходит.
Шаг 4. Вывод наибольшего A
if ok:
best = A
print(best)
Запоминаем наибольшее подходящее A. Ответ: 27.