我有11个列表(大小~36),64位数字。一个组合 - 每个列表一个元素将形成一个包含11个元素的列表。我需要找到这样的组合,即xor
所有11个元素的操作将产生幻数(FFFF FFFF FFFF FFFF
十六进制格式)。
'野蛮力量'使用理解列表来创建所有可能的组合,然后迭代直到达到条件是不实际的:可能的组合数量很大。
当我尝试在8x8板上解决2D拼图时会出现此问题。有11个数字和64位数字(二进制形式)表示该板上的图形和位置。这就是为什么有11个列表,每个数字都有可能的位置。当它们之间没有交叉时,所有数字都能很好地适应电路板。
我有命令式编程背景,但我觉得Haskell能够以比#34; spaghetti"更可读和易懂的方式解决这个问题。命令式语言解决方案。