Ege15. Отрезки. Программа решения. Питон (Phyton)

Задача. На числовой прямой даны два отрезка: P = [5; 30] и Q = [14;23]. Укажите наибольшую возможную длину такого отрезка A, что формула

((x∈P)≡(x∈Q))->(x∈A)

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

Будем подбирать отрезок А, задавая его начало и конец, t1 и t2 (возьмем промежуток от 0 до 50), шаг возьмем 0.1. Обнулим количество истинных высказываний k, и для чисел x из промежутка [-10, 60] с шагом 0.1 будем проверять истинность логического выражения. Если во всех случаях выражение истинно, будем добавлять длину отрезка А в список d. Ответом будет максимальное значение длины max(d).

Программа на Phyton

d = []; t1 = 0

while t1<=50:

    t2 = t1

    while t2<=50:

        k = 0; k1 = 0; x = -10

        while x<=60:

            f = ((5<=x<=30)==(14<=x<=23))<=(not(t1<=x<=t2))

            if f: k+=1

            x+=0.1

            k1+=1

        if k==k1: d.append(t2-t1)

        t2+=0.1

    t1+=0.1

print(max(d))

Результат программы: 8.9999999

Ответ: 9

А если t1 и t2 изменять с шагом 1?

Комментарии