Форум » Логические выражения » Пример Р-23, задание 18. » Ответить

Пример Р-23, задание 18.

leniza: При разборе решения возник вопрос: почему при нахождении максимального значения А не учтен 1 бит в числе Х? Допусти, он равен 0. Тогда максимальное значение А = 2 в кубе + 2 в квадрате + 2 в 1 степени.

Ответов - 7

Поляков: leniza пишет: При разборе решения возник вопрос: почему при нахождении максимального значения А не учтен 1 бит в числе Х? Допусти, он равен 0. Тогда максимальное значение А = 2 в кубе + 2 в квадрате + 2 в 1 степени. Проблема в том, что нам нужно обеспечить истинность выражения при ЛЮБОМ натуральном x.

leniza: Может быть вы перепроверите? Извините за настойчивость.

Поляков: leniza пишет: Может быть вы перепроверите? Извините за настойчивость. Контрпример к вашему ответу (14): x = 3.


zhannetta: Константин Юрьевич, но ведь при х=3, истина в первом бите получается в ((x & 21 = 0) /\ (x & 12 =0)). К тому же, получается, опять же, исходя из этой конъюнкции, что а может быть бесконечно большим, так как для всех битов, бОльших четвертого, эта конъюнкция будет истинна. Может быть, нужно искать наименьшее а? Тогда все получается.

Поляков: zhannetta пишет: но ведь при х=3, истина в первом бите получается в ((x & 21 = 0) /\ (x & 12 =0)). К тому же, получается, опять же, исходя из этой конъюнкции, что а может быть бесконечно большим, так как для всех битов, бОльших четвертого, эта конъюнкция будет истинна. Может быть, нужно искать наименьшее а? Я ничего не понял, к сожалению. Давайте говорить конкретно. У меня приведено решение задачи. Вы считаете, что оно неверное. Укажите, где ошибка.

zhannetta: (( (X & A != 0) /\ (X & 12 = 0)) => ((X & A = 0) /\ (X & 21 != 0))) \/ ((X & 21 = 0) /\ (X & 12 = 0))=1 Я считаю, что в данном случае наибольшего а нет. Исходя из начального, не упрощенного выражения, можно рассмотреть конъюнкцию ((x & 21 = 0) /\ (x & 12 =0)). Она дает нам истину для всех битов, начиная с 5 для любого х. Тогда получается, что от а в этих битах выражение не зависит. Значит максимального а нет. Зато, если искать наименьшее а, то ответ 12.

Поляков: zhannetta пишет: Я считаю, что в данном случае наибольшего а нет. Это легко проверить, просто написав программу. Она дает нам истину для всех битов, начиная с 5 для любого х. Да. Тогда получается, что от а в этих битах выражение не зависит. Значит максимального а нет. Вы спутали старшие биты числа x и старшие биты числа a.



полная версия страницы