简化逻辑陈述

Ale*_*lls 4 if-statement boolean-operations

我有这个:

if(!A or (A and B))   //pseudocode
Run Code Online (Sandbox Code Playgroud)

我想否定 if语句:

这应该工作:

if(!(!A or (A and B)))  //pseudocode
Run Code Online (Sandbox Code Playgroud)

但我相信有一种方法可以简化它,现在它正在逃避我.

Nam*_*man 6

欢迎来到de-Morgan的布尔代数世界,然后简单分发:

if(!(!A or (A and B)) 
=> if(!(!A) and !(A and B))
=> if(A and (!A or !B))
=> if((A and !A) or (A and !B))
=> if(A and !B) 
Run Code Online (Sandbox Code Playgroud)