德摩根定律和C++



对于以下每个表达式,编写等效的C++表达式,没有任何一元否定运算符(!)。(!= 仍然允许)

使用德摩根定律

  • !( P && Q) = !P || !Q
  • !( P || Q) = !P && !Q

  1. !(x!=5 && x!=7)
  2. !(x<5 || x>=7)
  3. !( !(a>3 && b>4) && (c != 5))

我的回答:

  1. (x>5 || x<5) || (x>7 || x<7)
  2. x>=5 && x < 7
  3. (a>3 && b > 4) && (c!=5)

这些是正确的吗?如果没有,你能给我答案并解释为什么他们是错的吗?

我是C++初学者,所以放轻松。

看看这个:

!(x!=5 && x!=7)                 -->    x==5 || x==7
!(x<5 || x>=7)                  -->    x>=5 && x<7
!( !(a>3 && b>4) && (c != 5))   -->    (a>3 && b>4) || c==5

因此,您的解决方案中只有#2是正确的。

最新更新