Задача к ЕГЭ по информатике на тему «Деление без остатка» №1

Обозначим через ДЕЛ(n  , m  ) утверждение «натуральное число n  делится без остатка на натуральное число m  ».

На числовой прямой дан отрезок B = [45,55]  . Для какого наибольшего натурального числа A  формула

¬ДЕ Л(x,A) → ((x ∈ B) → ¬Д ЕЛ (x,10))

тождественно истинна (то есть принимает значение 1  при любом натуральном значении переменной x  )?

Решение руками:

Раскроем импликацию:

                    ---------- Д ЕЛ (x,A )∨ (x ∕∈ B) ∨Д ЕЛ (x,10)

Рассмотрим известную часть. Высказывание (x ∕∈ B )  дает истину на множетсве  (− ∞;45)∪ (55;+∞ )  . Всказываение Д-ЕЛ(x,10)  достаточно рассмотреть только на множестве, где высказываение (x ∕∈ B )  дает ложь; на отрезке [45;55]  все числа, кроме 50, не делятся на 10, то есть дают истину для высказывания ---------- Д ЕЛ (x,10) .

Из этих рассуждений можно сделать вывод, что высказывание Д ЕЛ(x,A)  должно давать истину как минимум для значения 50, чтобы все выражение было тождествено истинна. Тогда, наибольшим A  для которого будет выполняться выражение ДЕЛ (50,A )  является A = 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)

Ответ: 50
Оцените статью
Я решу все!