列举所有可能的组合

时间:2014-10-26 09:05:52

标签: language-agnostic

这更像是一个思想练习,而不是一个真正的问题。

我有24个开关。开关成对排列; 1和13,2和14,依此类推。 每个开关都有两个可能的值;断断续续地。 如果该对中的一个开关处于打开位置,则另一个必须处于关闭位置。 开启位置始终有两个以上的开关,但不超过十个。

是否有一种优雅的方式列出可能的组合?

1 个答案:

答案 0 :(得分:0)

每对开关都有三种可能的状态:关闭;关闭开关。要生成所有可能的整体状态,请从基数3开始计数,从000 ... 000到222 ... 222,其中有12个基数3位,每个数字代表一对开关。

对开关数量的限制更加复杂,并且可能必须通过显式计数来完成,除非有人想出更好的主意。您必须至少有两个非零数字,最多十个非零数字。