C++ code:位操作实例(bit operation example)

某任务需要在A、B、C、D、E这五个人中物色人员去完成,但派人受限于下列条件:

(1)若A去,则B跟去

(2)D,E两人中必有人去

(3)B,C两人中必有人去,但只去一人

(4)C,D两人要么都去,要么都不去

(5)若E去,则A,B都去

分析:

对于这个逻辑判断例子,得到了条件的逻辑表达式,我们还有逻辑判断类的求解模式。如果将每个人的去与不去看成是5位整数中的其中1位,其中A对用最高位,E对应最低位,那么所有有可能的调派方案为从全部不派的00000到全部都派的11111之间变化。显然,共有32中方案,全部遍历的循环为:

再将A、B、C、D、E的式子代入表达式,即可以构成程序:

原文地址:https://www.cnblogs.com/ariel-dreamland/p/9060082.html