n15.logic02del.all.py

Задание 15: Логические выражения (арифметические операции) Альтернативный метод решения через all() Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наименьшего натурального числа А логическое выражение (¬ДЕЛ(x,26)∧ДЕЛ(x,A))→(ДЕЛ(x,39)∨¬ДЕЛ(x,A)) тождественно истинно (т. е. принимает значение 1 при любом неотрицательном целом значении переменной х)?
"""
Задание 15: Логические выражения (арифметические операции)

Альтернативный метод решения через all()

Обозначим через ДЕЛ(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,1000):
    if all (( ( (not((not Del(x,26)) and Del(x,A))) or (Del(x,39) or (not Del(x,A))) )
        for x in range(1,1000) )):
            print(A)
            break
        
    """
        Ответ: 26
    """
"""
Задание 15: Логические выражения (арифметические операции)

Альтернативный метод решения через all()

Обозначим через ДЕЛ(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,1000):
    if all (( ( (not((not Del(x,26)) and Del(x,A))) or (Del(x,39) or (not Del(x,A))) )
        for x in range(1,1000) )):
            print(A)
            break
        
    """
        Ответ: 26
    """

Репозиторий на GitHub