正在载入在线练习界面,本页内容可直接阅读…
AK CSP › CSP-J 2025 第一轮真题 › 第 7 题
CSP-J 2025 第一轮 第 7 题:布尔表达式 (a&&b) (!c&&a) 与哪个表达式不始终相等
题目
假设 $a, b, c$ 都是布尔变量,逻辑表达式 (a && b) || (!c && a) 的值与下列哪个表达式不始终相等?

选项
- A. a && (b || !c)
- B. (a || !c) && (b || !c) && (a || a)
- C. a && (!b || c)
- D. !(!a || !b) || (a && !c)
答案
C
题解
答案是 C。
这里 && 表示“与”,|| 表示“或”,! 表示“非”。题目问“不始终相等”,也就是找出一个选项:至少存在一组布尔变量的取值,使它与原表达式的结果不同。
先把原表达式中的公共因子 a 提出来:
``text (a && b) || (!c && a) = (a && b) || (a && !c) = a && (b || !c) ``
因此,原表达式为真的条件是:a 为真,并且 b 为真或 c 为假。
下面逐项判断。
A:始终相等。
a && (b || !c) 就是上面化简得到的表达式。
B:始终相等。
由于 a || a 等于 a,所以:
``text (a || !c) && (b || !c) && (a || a) = (a || !c) && (b || !c) && a = a && (b || !c) ``
最后一步使用了吸收律:a && (a || !c) 等于 a。也可以这样理解:当 a 为假时,两边都为假;当 a 为真时,a || !c 必定为真,不再影响整个“与”表达式的结果。
C:不始终相等。
它是 a && (!b || c),其中括号内的条件和原式不同。举一个反例即可确定它不等价:令 a = true、b = true、c = false。
原表达式的值为:
``text (true && true) || (!false && true) = true || true = true ``
C 的值为:
``text true && (!true || false) = true && (false || false) = false ``
同一组取值下,一个为真、一个为假,因此 C 符合题意。
D:始终相等。
根据德摩根律,!(!a || !b) 等于 a && b,所以:
``text !(!a || !b) || (a && !c) = (a && b) || (a && !c) ``
这与原表达式相同。
这类题可以先用分配律、吸收律和德摩根律化简;对怀疑不等价的选项,只要找到一组结果不同的取值,就能证明它们“不始终相等”。
真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1
京公网安备11010502062986号