小编Dav*_*pes的帖子

Python - 仅当条件适用时组合

假设我有一个巨大的元组列表:

tuples = ([1, 2], [2, 1], [3, 2], [25, 73], [1, 3]...)
Run Code Online (Sandbox Code Playgroud)

截至目前,该列表有 360000 个元素(它们是互质数列表)。我需要组合 3 个元组,这样每个组合上只有 3 个不同的数字,例如:

([2, 1], [3, 1], [3, 2])
([2, 1], [5, 1], [5, 2])
Run Code Online (Sandbox Code Playgroud)

在生成组合列表时,我需要丢弃具有 4 个或更多不同数字的组合。

如果我尝试暴力破解并测试每个组合,我最终会得到360000 choose 3哪些7.77 * 10^15可能的组合进行测试。

编辑:我试图解决的问题是:

找到以下形式的互质对的所有组合:

(a, b), (a, c), (b, c)
Run Code Online (Sandbox Code Playgroud)

对于 c < 120000

我采取的步骤:

  1. 为两个数字都小于 120000 的所有 Coprime 对生成三叉树
  2. (问题 - 生成组合,暴力破解是行不通的)

python math combinations combinatorics

2
推荐指数
1
解决办法
5073
查看次数

标签 统计

combinations ×1

combinatorics ×1

math ×1

python ×1