Задача к ЕГЭ по информатике на тему «прочие прототипы» №11

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

На числовой прямой даны отрезки P = [13,25]  , Q = [18,35]  . Найдите максимальную длину промежутка A  , такого что выражение

                             ------- -------            ------- (¬ (Д ЕЛ (x,5.5)) ∧¬ (Д ЕЛ (x,4))∨ (x ∈ Q) ∨(x ∈ A ))∧((x ∈ P )∨ (x ∈ A))

тождественно истинно, то есть принимает значение 1  при любом натуральном числе x  .

def inn(x, A):
    return A[0] <= x <= A[1]
def f(x, A):
    P = [13, 25]
    Q = [18, 35]
    return (((x % 5.5 != 0) and (x % 4 != 0) or (not inn(x, Q)) 
         or (not inn(x, A))) and (inn(x, P) or (not inn(x, A))))
ans, n = 0, 15
borders = [0 ,0]
for a in range(1 * n, 70 * n):
    for b in range(a, 70 * n):
        A = [a / n, b / n]
        flag = True
        for x in range(1, 70 * n):  # только натуральные
            if not f(x, A):
                flag = False
                break
        if flag:
            if A[1] - A[0] > ans:
                ans = A[1] - A[0]
                borders[0] = A[0]
                borders[1] = A[1]
print(borders)
print(ans)

Видим, что программа вывела промежуток [12.067,19.934]  и его длину ≈ 7.867  .

Значит, ответом является промежуток с дробными границами, левая граница которого стремится к 12  , а правая к      20  , тогда длина стремится к 8  .

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