一个很好的逻辑设计练习。
使用C++来实现布尔代数中的与、或、非运算,只使用与(AND)和非(NOT)运算。
class Solution {
public:
bool AND(bool a, bool b) {
return a && b;
}
bool NOT(bool a) {
return !a;
}
// 使用与和非实现或运算
bool OR(bool a, bool b) {
// 德摩根定律: NOT(NOT(a) AND NOT(b)) = a OR b
return NOT(AND(NOT(a), NOT(b)));
}
};
解释:
AND
函数直接使用C++的&&
运算符。NOT
函数使用C++的!
运算符。OR
函数使用德摩根定律来实现:NOT(NOT(a) AND NOT(b)) = a OR b