【发布时间】:2012-01-23 08:49:36
【问题描述】:
假设我的清单是
{1,2,3,4}
我的标题可能描述性不够,但这是我想做的.. 我希望我的代码生成以下内容
{ (1,2) , (3,4) }
{ (1,3) , (2,4) }
{ (1,4) , (2,3) }
{ (2,1) , (4,3) }
{ (3,1) , (4,2) }
{ (4,1) , (3,2) }
即我想要该集合的所有 4C2 组合。
注意:这里最初的四个元素只是一个说明性的数字。这个数字可能会变化到 8 或 10。
现在,我如何为它编写代码(C 或 php)。
基本上,我想知道算法。不是全部。,即使是先发制人也足够了。 我只是想不出什么可以开始。 请帮忙。 谢谢。
我想我没有解释清楚;实际上我自己没有得到问题。 我想要的是,假设我有 4 支球队,我想让每支球队都与另一支球队比赛,那么我如何生成所有的赛程。 在我上面的例子中;将 1,2,3,4 视为 4 个团队。和 {(1,2), (3,4)} 作为一组固定装置,依此类推。 我该怎么做呢。 因此我需要生成所有的 NC2/ (N/2) 组夹具。 (本例中 N=4)
【问题讨论】:
-
是
nC2还是nCr? -
遵循@mathematical.coffee 的建议....使用排列并简单地将 2 个连续的项目组合在一起。快! :)
-
你为什么要
{ (1,4) , (2,3) }和{ (4,1) , (3,2) }而不是{ (4,1) , (2,3) }? -
@Mr.向导,因为 4,1 和 2,3 中的 2,3 已经涵盖在 1,4 和 2,3 中。
标签: php c algorithm combinations