n15.logic02del.py
Задание 15: Логические выражения (арифметические операции)
Обозначим через ДЕЛ(n, m) утверждение
«натуральное число n делится
без остатка на натуральное число m».
Для какого наименьшего натурального
числа А логическое выражение
(¬ДЕЛ(x,26)∧ДЕЛ(x,A))→(ДЕЛ(x,39)∨¬ДЕЛ(x,A))
тождественно истинно
(т. е. принимает значение 1
при любом неотрицательном
целом значении переменной х)?
"""
Задание 15: Логические выражения (арифметические операции)
Обозначим через ДЕЛ(n, m) утверждение
«натуральное число n делится
без остатка на натуральное число m».
Для какого наименьшего натурального
числа А логическое выражение
(¬ДЕЛ(x,26)∧ДЕЛ(x,A))→(ДЕЛ(x,39)∨¬ДЕЛ(x,A))
тождественно истинно
(т. е. принимает значение 1
при любом неотрицательном
целом значении переменной х)?
"""
def Del(n, m):
return n % m == 0
for A in range(1, 5000):
A_cool = True
for x in range(0, 10_000):
# через преобразование и упрощение
# ¬(¬ДЕЛ(x,26)∧ДЕЛ(x,A)) ∨ (ДЕЛ(x,39)∨¬ДЕЛ(x,A))
# де Морган
# (ДЕЛ(x,26)∨¬ДЕЛ(x,A)) ∨ (ДЕЛ(x,39)∨¬ДЕЛ(x,A))
# ДЕЛ(x,26) ∨ ДЕЛ(x,39) ∨ ¬ДЕЛ(x,A)
#if (Del(x, 26) or Del(x, 39) or not Del(x, A)) == 0:
if ( (not((not Del(x,26)) and Del(x,A))) or (Del(x,39) or (not Del(x,A))) ) == 0:
A_cool = False
break
if A_cool == True:
print(A)
break
"""
Ответ: 26
""""""
Задание 15: Логические выражения (арифметические операции)
Обозначим через ДЕЛ(n, m) утверждение
«натуральное число n делится
без остатка на натуральное число m».
Для какого наименьшего натурального
числа А логическое выражение
(¬ДЕЛ(x,26)∧ДЕЛ(x,A))→(ДЕЛ(x,39)∨¬ДЕЛ(x,A))
тождественно истинно
(т. е. принимает значение 1
при любом неотрицательном
целом значении переменной х)?
"""
def Del(n, m):
return n % m == 0
for A in range(1, 5000):
A_cool = True
for x in range(0, 10_000):
# через преобразование и упрощение
# ¬(¬ДЕЛ(x,26)∧ДЕЛ(x,A)) ∨ (ДЕЛ(x,39)∨¬ДЕЛ(x,A))
# де Морган
# (ДЕЛ(x,26)∨¬ДЕЛ(x,A)) ∨ (ДЕЛ(x,39)∨¬ДЕЛ(x,A))
# ДЕЛ(x,26) ∨ ДЕЛ(x,39) ∨ ¬ДЕЛ(x,A)
#if (Del(x, 26) or Del(x, 39) or not Del(x, A)) == 0:
if ( (not((not Del(x,26)) and Del(x,A))) or (Del(x,39) or (not Del(x,A))) ) == 0:
A_cool = False
break
if A_cool == True:
print(A)
break
"""
Ответ: 26
"""