我有一个数组,例如长度为 4 个元素,我想知道在使用 3 个数字时如何计算可能的组合。
例如:
3 6 2
3 6 8
6 2 8
8 3 2
我的数组是:3 6 2 8
有 4 种可能性,但我如何以编程方式计算它们?
好吧,看来您实际上要寻找的是,这是从候选Choose(n,k)
中选择k
元素的方法的数量。n
它的公式基本上是Choose(n,k) = n! / (k! * (n-k)!)
其背后的道理是:
排序n
项目的方法数(n!可能性),然后首先选择k
。选择后,您不关心第一个k
项目(k!
可能性)和最后一个n-k
项目((n-k)!
可能性)的顺序。
在您的示例中Choose(4,3) = 4!/(3!*1!) = 4
,正如预期的那样。