-1

我不能 100% 确定堆栈溢出是发布此内容的正确交换;如果不是,请告诉我。

我有三个开关,都对应一个灯。当任何一个开关被翻转时,灯应该从 ON 变为 OFF 或从 OFF 变为 ON。对于这个实现,我只被允许使用 XOR 门。

画出真值表后,很明显,只有当其中一个开关处于 UP 位置时,灯才处于 ON 状态,或者三个开关都处于 UP 位置(最初三个开关都处于关闭状态)开关处于向下位置)。通过简单地对每对开关(3 对)进行异或运算,我能够推断出单开关 UP 情况下灯的新状态。但是,我不确定如何找出如何区分处于 UP 位置的所有三个开关(对应于灯亮)和处于 DOWN 位置的所有三个开关(灯熄灭)。据我了解,不可能从 XOR 门创建 AND 门,所以我被困在这里..

任何帮助是极大的赞赏!

4

1 回答 1

3

Let's say the three switches are A, B and C : you could try A XOR B XOR C.

于 2013-04-05T19:05:51.107 回答