【问题标题】:Create AND expression with OR and NOT用 OR 和 NOT 创建 AND 表达式
【发布时间】:2020-01-13 13:44:21
【问题描述】:

对于一个作业,我必须写一个布尔公式,相当于:

X = (A > 10) & (A < 20)

我不能使用&amp; 运算符。给出提示:使用ORNOT。我根本无法理解这个问题,并认为这是不可能的。

X = not(A<10) or not(A>20) 

不会起作用,因为这永远是正确的。我尝试了其他一些选项,但它们都不会给出与第一个公式相同的结果。那么,这可能吗?

【问题讨论】:

  • 可以用&&运算符吗?
  • 不,只有 AND OR NOT XOR,但文字提示是;使用 OR 和 NOT

标签: logic operators operator-keyword


【解决方案1】:

感谢 Ocasa,确实是摩根定律;

非(非(a>10)或非(a

【讨论】:

    【解决方案2】:

    以下等价在经典逻辑中成立:

    ¬¬P      ≡ P         (Double Negation)
    ¬(P ∧ Q) ≡ ¬P ∨ ¬Q   (De Morgan's Law 1)
    ¬(P ∨ Q) ≡ ¬P ∧ ¬Q   (De Morgan's Law 2)
    

    如下:

      P ∧ Q
    ≡ ¬¬(P ∧ Q)    (Double Negation Introduction)
    ≡ ¬(¬P ∨ ¬Q)   (De Morgan's Law 1)
    

    在你的情况下,我们有:

      (N > 10) ∧ (N < 20)
    ≡ ¬¬((N > 10) ∧ (N < 20))    (Double Negation Introduction)
    ≡ ¬(¬(N > 10) ∨ ¬(N < 20))   (De Morgan's Law 1)
    ≡ ¬(N ≤ 10 ∨ N ≥ 20)         (Trichotomy)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-26
      • 1970-01-01
      • 2014-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多