有一个参与者列表 - 比如说 41 个对象
它们需要以最多 8 人为一组均匀分布。
组的总数是通过41 / 8 + 1
现在您需要在这些组之间分配参与者,如下所示:
1 группа - 7 участников
2 группа - 7 участников
3 группа - 7 участников
4 группа - 7 участников
5 группа - 7 участников
6 группа - 6 участников
但是,“依次添加一个参与者,直到参与者用完”的选项不合适,因为您需要批量添加参与者,即在这种情况下,第 1 组的前 7 个参与者,然后是下一个第 2 组 7 名参与者
当然,您可以先在单独的表格中计算参与者的数量,该表格应该是分组的,然后使用此表格将参与者分成小组进行分组。但是有可能想出一个更优雅的算法吗?
要获得人口较多的组数:
完整的 Python 示例
这里的计算与@MBo 的答案基本相同,在 C# 中,加上我将元素分成组。
检查:https ://dotnetfiddle.net/QAUhW6