在不重复一对的情况下,可以用 X 元素组成的对数?

Number of pairs that can be made with X elements without repeating a pair?

我想将 X 个数据库对象配对。

如果我有:

A
B
C
D

第一轮可能是:

AB
CD

第二轮可能是:

AD
CB

第三轮可能是:

AC
DB

而且不会有其他的可能性。

所以对于 4 个元素,我可以做 3 轮,然后再重复一对。

对于任意数量的元素,可以帮助我解决这个问题的公式是什么?

相关How do I get the total number of unique pairs of a set in the database?

您可以使用 round-robin tournament 算法生成所有可能的对。您的示例显示了 r-r 算法的实际应用:制作两行元素,固定第一行 (A) 并以循环方式旋转其他元素。

注意N个元素组成N*(N-1)/2对,需要(N-1)轮才能全部生成