Обозначим через ДЕЛ(,
) утверждение «натуральное число
делится без остатка на натуральное число
».
На числовой прямой дан отрезок . Для какого наибольшего натурального числа
формула
тождественно истинна (то есть принимает значение при любом натуральном значении переменной
)?
Решение руками:
Раскроем импликацию:
Рассмотрим известную часть. Высказывание дает истину на множетсве
. Всказываение
достаточно рассмотреть только на множестве, где высказываение
дает ложь; на отрезке
все числа, кроме 50, не делятся на 10, то есть дают истину для высказывания
.
Из этих рассуждений можно сделать вывод, что высказывание должно давать истину как минимум для значения 50, чтобы все выражение было тождествено истинна. Тогда, наибольшим
для которого будет выполняться выражение
является
.
Решение программой:
def f(x, A):
B = [45, 55]
return (x % A != 0) <= (inn(x, B) <= (x % 10 != 0))
def inn(x, B):
return B[0] <= x <= B[1]
maxim = 0
for A in range(1, 300):
flag = True
for x in range(1, 500):
if not(f(x, A)):
flag = False
break
if flag:
maxim = A
print(maxim)