现在有5个人 A、B、C、D、E
需要两两分组
正确结果应该是可以分为10组,分别为A和B,A和C,A和D,A和E,B和C,B和D,B和E,C和D ,C和E,D和E
请教各位大神 如何用代码实现
谢谢
这一点都不随机好不好。
线性代数里面的排列和组合说的就是这个。
写个双循环结构就可以了。
for (i=0;i<5;i++)
{
for(j=i+1;j<5;j++)
{
}
}
两个循环应该可以结束的吧
string[] str_arr = { "A", "B", "C", "D", "E" }; for (var i = 0; i < str_arr.Length; i++) { for (var j = i + 1; j < str_arr.Length; j++) { Console.WriteLine("分组:" + str_arr[i] + "-" + str_arr[j]); } }
这是个数学上的组合的问题,哪里是啥随机?
一个数组{‘A,'B',‘C’,‘D’,‘E’}出来一个,然后和后面组合,然后第二个出来,和后面的组合。既5乘以4共20种组合,去掉重复的一半。
第二种一个循环,A和B,C,D,E。B和C,D,E既4+3+2+1
第一个数和后面的组合,第二个数和后面的组合。