我不是100%确定堆栈溢出是发布此消息的正确交换;如果不是,请告诉我。
我有三个开关,都对应一个灯。当任何一个开关被翻转时,灯应该从ON变为OFF或OFF变为ON。对于这个实现,我只允许使用异或门。
在绘制真值表之后,很明显只有当其中一个开关处于向上位置或者所有三个开关都处于向上位置时(灯最初关闭),灯才处于ON状态所有三个开关都处于向下位置)。通过简单地对每对开关(3对)进行异或,我能够推断单开关UP情况的新状态。但是,我不知道如何找出如何区分UP位置的所有三个开关(对应于灯亮)和所有三个开关处于DOWN位置(灯关闭)。根据我的理解,不可能从XOR门创建AND门,所以我被困在这里..
非常感谢任何帮助!
答案 0 :(得分:3)
让我们说三个开关分别是A,B和C:您可以试试A XOR B XOR C
。