【发布时间】:2011-10-29 22:15:21
【问题描述】:
我正在尝试一种蛮力方法来尝试找到谜题扩展的组合。
我正在尝试获取大量组合,然后测试每个组合以查看它们是否符合某些标准。 我使用 Python 优秀的 itertools 生成组合,本质上这给了我一个迭代器,我可以遍历并测试每个迭代器。
这会很快返回并给我 91390 组合来检查:
itertools.combinations(range(1, 40), 4)
这需要几分钟,然后给我 198792594 组合进行测试:
itertools.combinations(range(1, 122), 5)
当我进入下一个级别时,我需要这个答案:
itertools.combinations(range(1, 365), 6)
当我进入一组 364 的 6 路组合时……需要很长时间。 年龄。我是否天生就要求大量的组合?它是如何扩展的?
【问题讨论】:
-
这是为了解决 10 月 22 日 Car Talk Puzzle 的扩展。他们给出了答案并暗示了一个通用的解决方案。 cartalk.com/content/puzzler/transcripts/201143/index.html
-
链接没有到达它应该去的地方
-
链接到有问题的Car Talk Puzzle。
标签: python combinations itertools