50 个学生小组的功能或循环结构是什么。这样在将他们分配到不同的组时,他们永远不会对峙。怎么解决?

What will be the function or loop structure of 50 students groups. So that they never face off when assigning them in different groups. How to solve?

我的目标是创建 4 个会话。每个会话有 20 分钟的时间。而我需要安排50个学生分组。每个组最多有 3 个成员。并在 80 分钟内创建四次。这样每次每个学生都会与不同的学生分组分配。没有人会再次对峙。

您的组数比解决此问题所需的多得多,因此有很多简单的方法可以奏效。

一种方式:

  1. 将学生分成 2 人或 3 人一组。
  2. 在每组中,分配编号:一名学生为 1 号,一名学生为 2 号,如果有第三名,则一名学生为 3 号。
  3. 将小组围成一圈。每节结束,1号原地不动,2号顺时针移动一组,3号顺时针移动两组。

证明这满足您的条件相当容易。每个学生:

  • 他分组的每个学生都有不同的编号——每个组总是有一个 1、一个 2,也许还有一个 3
  • 一旦他与另一名学生分组,该学生将在每节课结束时将 1 或 2 组移得更远。
  • 有 17 个小组,因此每节课 1 步或 2 步,学生需要 17 节课才能再次遇到他的任何一个小组成员。

这种策略在很多情况下都很有效。如果你有一个素数的小组,每个小组的小组多于学生,小组多于会话,那么没有两个学生会见两次。